Computer 314

asp 용 UTF8 컨버터

유니코드 chr 대신 chrW 사용 Index = 1 '?,%가 없다면 검색할 필요없음 if instr(1,pURL,"?",1) > 0 OR instr(1,pURL,"%",1) > 0 then Do While Index 0 Then URLDecode = "" Exit Function End If '** 결과를 리턴한다. URLDecode = sBuffer Exit Function End Function '**************************************************************************************** '* 형 식 : Function '* 정 의 : Public Function boolUnicode(s) '* 설 명 : s 인자로 입력받은 문자열..

Computer/ASP 2012.08.10

ajax 의 기본구조

js 소스 압축 : http://hometown.aol.de/_ht_a/memtronic/ html 도구검사 : html validator xmlhttpdebuger 설치 : 1. 파폭 플러그인 다운로드 GreaseMonkey 2. http://blog.monstuff.com/archives/images/XMLHttpRequestDebugging.v1.2.user.js * XMLHttpRequest의 동기적 이용 예제 xmlhttp.open("GET", "test.html", false); xmlhttp.send(null); //send의 위치가 비동기와 틀리다. if (xmlhttp.statusText == "OK") { //statusText: HTTP응답문자열을 반환한다. (성공일경우: OK) al..

Computer/PHP 2012.08.10

RAID

1. 리눅스에서 지원하는 소프트웨어 raid 레벨 1)raid-Linear : 간단히 여러개의 파티션을 하나로 묶는 역활 2)raid-0 : 여러개의 파티션을 하나로 묶어 스트라이핑기술을 이용하여 처리속도가 빨라진다. 디스크 오류에 대한 안전성은 없다는 단점 3)raid-1 : 미러링 기술을 이용하여 여러개의 디스크에 정확하게 복사본을 만들어 준다. 오류가 발생하면 복사해둔 이미지로 복구하게된다. 4)raid-3 : 패리티정보를 모아 별도의 디스크에 저장한다.이 패리티정보를 이용하여 오류가 발생한 디스크의 데이터를 복구한다. 안정성은 있으나 디스크성능이 감소한다. 5)raid-5 : raid -3 와 비슷하게 패리티정보를 이용하나 디스크에 저장하지는 않는다. 안전성도 제공하고 raid-3 에 비해 디스크..

Computer/LINUX 2012.08.10

MIME 규격

RFC-822 ARPA 인터넷 텍스트 메시지에 대한 표준 RFC-2045 MIME Part 1: 인터넷 메시지 본문의 형식 RFC-2046 MIME Part 2: 미디어 형식 RFC-2047 MIME Part 3: 비-ASCII 텍스트에 대한 헤더 확장 RFC-2048 MIME Part 4: 등록 프로시져 RFC-2049 MIME Part 5: 적합한 기준 및 예시 컨텐트 형식으로 본 MIME Type Type/sub-type Extension application/envoy evy application/fractals fif application/futuresplash spl application/hta hta application/internet-property-stream acx applicatio..

Computer/LINUX 2012.08.10

트래픽 제한 (mod_throttle)

mod_throttle 우아..이놈때문에 고생을 하두 많이해서..ㅠㅠ 이놈은 접속자가 많은 사이트에서는 쥐약이다. 프로세스 수가 이유없이 증가한다. 무슨 이유인지는 모른다. 여튼 접속자가 많은곳에서는 사용 금지!! 이놈은 사용량을 제한 하는 것 보다는, 어느정도 사용하는지 확인 하는 정도로 사용할 것이다. 0. 아파치의 추가 모듈들을 정리해서 올릴것이다. 이놈들은 아파치 정식 모듈이 아니니.. DSO모드로 올렸다가. 이상하면 내린다.^^; 1. 가상 호스트 별 접속량 제한 (mod_throttle) 1.3.X 에만 사용가능 (1) 개념 가상 호스트별로 접속량을 기록하여, 일정량 이상이 되면, 접속 못하게 하는 모듈인데... 정확한 개념은 모르겠당.^^; (2) 설치 - 먼저 모듈을 구한다. 어디서 ?? ..

Computer/LINUX 2012.08.10

트래픽 제한 (bandwidth)

아파치에 접속하는 사용자들의 대역폭을 제한한다. mod_throttle 와 비슷하지만, 용도가 다르다. 이놈들은 아파치 정식 모듈이 아니니.. DSO모드로 올렸다가. 이상하면 내린다.^^; 1. 개념 한 접속당 일정양(Byte/Sec)을 정해 놓고, 그 양이 넘으면 delay 시켜 일정한 트래픽을 유지한다. 2. 설치 (1) 먼저 모듈을 구한다. 어디서 ?? 개발자 사이트에서 http://www.cohprog.com/v3/bandwidth/intro-en.html wget ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c (2) 컴파일 및 설치 (apxs 를 사용하여 한방에 끝낸다.) /usr/local/apache/bin/apxs -i -a ..

Computer/LINUX 2012.08.10

웹 DOS 공격 막기

문제? 특정 IP에서 너무 많은 접속이 일어난다?? 비정상적인것 같은데... 어떻게 해결을 할까? DOS공격인것 같은데.. 해결책! 1. iptables 를 이용한 방법 iptables를 이용하시는것이 근본적이고 효과적 이다. iptables의 connlimit 모듈을 이용한다. iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j DROP 한 IP에서 50개의 연결이 있으면 그 IP를 차단한다.!! 영원히~~ flush 시키기 전까지는.. 캑.ㅠㅠ 2. mod_dosevasive 모듈 사용. 아파치에 올려서 사용하고, 일반적으로 많이 알려져 있지만, 문제점은, 접속자가 많은 사이트에 올려두면, 서버가 견디지 못해 아..

Computer/LINUX 2012.08.10

압축전송

력을 버퍼링하는 ob_start()에 대해서 팁텍에서도 여러번 논의가 있었던 것으로 기억합니다. 특히 ob_start("ob_gzhandler"); 를 이용하면 테이터를 gzip 압축을 해서 훨씬 빨라질거라는 이야기도 있었고... 저역시 ob_start("ob_gzhandler"); 해주고 압축이 잘되고 있다고 믿어왔습니다. 근데 우연히 http://www.whatsmyip.org/mod_gzip_test/ 에서 테스트를 해보니까 압축이 안되어있다고 나오더군요. 한참을 뒤지다가 Apache/1 에서는 별도로 mod_gzip을 설정해야한다는 사실을 알았습니다. 화일을 다운로드하고 설정하는 방법은 http://schroepl.net/projekte/mod_gzip/install.htm 에 자세히 나와있습니다..

Computer/LINUX 2012.08.10

아파치 보안

완벽한 보안은 없다고 생각한다. 흔히 말해 해킹과 보안을 창과 방패라고 비유하는 것과 같이 해커가 찌른 창을 한번 막았다고 해서 영원히 막을 수는 없다. 해커는 항상 새롭고 다양한 창을 가지고 또 찌를 것인데 항상 같은 낡은 방패를 사용하여 똑같은 방어만 한다면 완벽한 방어는 절대 이루어질 수 없을 것이다. 웹 호스팅 서버의 경우 평균적으로 한 대의 서버로 작게는 백여 개의 도메인부터 시작하여 많게는 200여 개 정도의 도메인을 관리하는데 해킹을 당했을 경우에는 호스팅 서버에서 관리되는 업체들, 즉 200여개의 홈페이지가 한 번에 모두 피해를 입을 수가 있기 때문에 그 피해는 더욱 크다고 할 수 있다. 이번 시간에는 이런 시스템의 피해를 사전에 예방할 수 있는 보안 측면에서 시스템 관리자로서 해야 하는 ..

Computer/LINUX 2012.08.10

아파치 로그 자동백업

0. 내가 원하는 것? 아파치에서는 로그를 자동으로 깔끔하게 로테이트 시키지 않는다. 로테이트도 날짜가 엉망이라 알아보기 힘들다. 그래서 난 날짜별로 로그를 모으기 위해 다음 쉘스크립트를 만들었다. 1. 설명 : cron의 힘을 빌려!! 매일 00시00분에 위 쉘스크립을 실행시키면, 어제날짜를 구한 다음 기존로그를 어제 날짜로 옮기고, 아파치를 재 시작한다. 그리고 로그는 gzip으로 압축해서 보관하면.. 효율적으로 로그 보관할 수 있다. 2. 압축된 로그 볼때? zcat 파이명 3. 쉘프로그램 소스 (/root/log_rotate.sh) #!/bin/bash ## 로그 자동 로테이터 ## crontab : 00 00 * * * su - root -c '/root/log_rotate.sh >& /dev/..

Computer/LINUX 2012.08.10