HTTP/1.0 으로 POST 하는 접근이 거의 봇이기 때문에 이를 차단하는 방식입니다.
[code php]if(!($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1' && $_SERVER['HTTP_USER_AGENT'] == 'Shockwave Flash')) {
if($_SERVER['SERVER_PROTOCOL'] != 'HTTP/1.1' || !isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
if(count($_POST) != 0) {
$fp = fopen('/home/site/www/postdata.txt', 'a');
fwrite($fp, $_SERVER['REMOTE_ADDR']."\n");
fwrite($fp, print_r($_POST, true));
fwrite($fp, print_r($_GET, true));
fwrite($fp, print_r($_SERVER, true));
fwrite($fp, "---\n");
fclose($fp);
exit;
}
if(!preg_match('/BlackBerry|Daum|EMPAS\.ROBOT|Gigabot|Googlebot|NaverBot|Snapbot|Speedy\|SurveyBot|Twiceler|Yahoo|Yeti|MFeedBot|msnbot|webcollage|yoofind|xMind|BrightCrawler|NimbleCrawler|StackRambler|SurveyBot|ia_archiver/', $_SERVER['HTTP_USER_AGENT'])) {
$fp = fopen('/home/site/www/agents.txt', 'a');
fwrite($fp, $_SERVER['HTTP_USER_AGENT']."\n");
fclose($fp);
header('Content-Type: text/html; charset=euc-kr');
echo '인터넷 옵션 에서 프록시 설정을 제거하셔야 접속하실 수 있습니다.\n프락시사용을 하지않는 경우 도구-인터넷옵션-고급에서 HTTP 1.1 사용에 체크하신후 모든 익스플로러창을 닫은다음 새창을 열어서 접속하십시요.';
exit;
}
}
}[/code]
댓글 없음:
댓글 쓰기