Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- // PHP-скрипт автоматического бана по IP в .htaccess при посещении запрещенного URL
- // от Дмитрия 'DiM' (www.dimlife.com)
- // Инструкция по использованию скрипта http://dimlife.com/php:htaccess-ban
- $tomail = 'admin@dimlife.com'; // email владельца сайта
- $frommail = 'robot@dimlife.com'; // условный email отправителя
- $date = date('d.m.Y H:i:s');
- $ip = $_SERVER['REMOTE_ADDR'];
- $url = $_SERVER['REQUEST_URI'];
- $useragent = $_SERVER['HTTP_USER_AGENT'];
- $refer = $_SERVER['HTTP_REFERER'];
- $ban = "# ".$date." ".$url." \r\nDeny from ".$ip." \r\n"; // эта строка запишется в .htaccess
- $htaccess = $_SERVER['DOCUMENT_ROOT'].'/.htaccess'; // путь до .htaccess
- $str = file_get_contents($htaccess);
- $fn = 'Deny from '.$ip;
- $pos = strpos($str,$fn);
- // если IP-адрес не забанен в .htaccess
- if ($pos === false)
- {
- $o = @fopen($htaccess, "a+"); // открывает .htaccess
- $write = @fputs($o, $ban); // пишет строку о бане
- // уведомление на email админа сайта
- mail (
- $tomail,
- 'Новый бан! ('.$url.')',
- 'дата: '.$date.' | IP: '.$ip."\r\n".'юзерагент: '.$useragent."\r\n".'Запрос: '.$url.' | реферал: '.$refer,
- 'From:'.$frommail
- );
- fclose($o);
- // показывает нарушителю страницу с уведомлением о бане
- echo '
- <html><head></head><body style="background:#363636;font-family:Century Gothic;color:#CFCFCF">
- <div style="position:fixed;top:25%;left:25%;width:400px;height:400px;top:expression((document.documentElement.scrollTop + screen.height/2 - 200) + \'px\');margin-left:-200px;"><span style="font-size:300px">БАН!</span></div>
- </body></html>
- ';
- }
- // если IP-адрес уже забанен в .htaccess
- else
- {
- // только уведомление на email админа сайта
- mail (
- $tomail,
- 'Уже забанен ('.$ip.')',
- 'дата: '.$date.' | IP: '.$ip."\r\n".'юзерагент: '.$useragent."\r\n".'Запрос: '.$url.' | реферал: '.$refer,
- 'From:'.$frommail
- );
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement