{% else-1 %}
Очень неприятно, когда в
интеренете появляются сайты,
сделаные методом скачивания
содержимого с твоего,
долгими трудами созданного.
Вот от таких непорядочных
людей и помогает этот скрипт.
Запись запрещающей строки
в .htaccess осуществляется
автоматически.
Скрипт вставляется в каждую
страницу сайта с помощью
include.
Описание настроек скрипта:
// error_reporting(0) После
установки и настройки скрипта
комментарий снять.
$limit // Максимально
допустимое количество
обращений к сайту с одного IP-
адреса в минуту.
$htaccess // Путь к
файлу .htaccess
$htstring // Комментарий к
строке в файле .htaccess
$dirfiles // Путь к папке с
временными файлами
$logfiles // Имена временных
файлов
$excludes // Массив
исключений с именами хостов,
которым "можно всё"

                        
<?php
//error_reporting
(0);
$address = $_SERVER
['REMOTE_ADDR'];
$ref = $_SERVER
['HTTP_REFERER'];
$url = urldecode
($_SERVER
['REQUEST_URI']);
$limit = 20;
$timenow = time
();
$browser = $_SERVER
['HTTP_USER_AGENT'];
$htaccess = $_SERVER
['DOCUMENT_ROOT']."/.htaccess";
$dirfiles = $_SERVER
['DOCUMENT_ROOT']."/
antirip/
logfiles/";
$logfiles = "$dirfiles".
$address;
$hostname = gethostbyaddr
($address);
$datetime = date
("Y-m-d H:i:s");
$ip1 = getenv
("HTTP_X_FORWARDED_FOR");
$ip2 = getenv
("REMOTE_ADDR");
$hostip1 = gethostbyaddr
($ip1);
$hostip2 = gethostbyaddr
($ip2);
if ($ip1 !
= $ip2) {
$htstring = NULL;
if (!empty
($ip1)) {
preg_match_all
('/[0-9]{1,3}.
[0-9]{1,3}.[0-9]
{1,3}.[0-9]
{1,3}/', $ip1, $ip1);
$ip1 = array_unique
($ip1[0]);
foreach ($ip1 as $v) {
$htstring.="Deny from ".
$v."
Заблокирован Внутренний IP
$hostip1rn";
}
}
if (!empty
($ip2)) {
$htstring.="Deny from ".
$ip2."
Заблокирован IP Proxy
$hostip2rn";
}
} else {
$htstring = "Deny from ".
$address."
Заблокирован Внешний IP
$hostnamern";
}
$excludes = array
(
"yandex.ru",
"rambler.ru",
"googlebot.com",
"webaltabot.com",
"inktomisearch.com",
"search.live.com",
);
if ($opendir = opendir
($dirfiles)) {
while (false !
== ($log = readdir
($opendir))) {
if ($log !
= "." and $log !
= "..") {
$timelog = date
(filemtime
("$dirfiles"."$log"));
if ($timelog < ($timenow -
60)) {
unlink
("$dirfiles"."$log");
}
}
}
}
foreach ($excludes as $v) {
if (preg_match
('/'.
$v.'/', $hostname)) {exit;}
}
if (!file_exists
($logfiles)) {fopen
($logfiles, "w
+");}
$write = "$datetime -
$hostname<br>Browser: $browser<br>Referer: $ref<br>URL: $url<br>rn";
if ($logfiles) {
if (is_writable
($logfiles)) {
if (!
$handle = fopen
($logfiles, 'a')) {exit;}
if (fwrite
($handle, $write) === FALSE) {exit;}
fclose
($handle);
}
}
if ((count(file
($logfiles)) > $limit) and ($timelog > ($timenow -
60))) {
if ($htaccess) {
foreach (file
($htaccess) as $h) {
if ($h === $htstring) {
exit;
}
}
if (is_writable
($htaccess)) {
if (!
$handle = fopen
($htaccess, 'a')) {exit;}
if (fwrite
($handle, $htstring) === FALSE) {exit;}
fclose
($handle);
}
}
}
?>
1 17 0
0

Нет фото
• 15 фев 2014, 18:44


На сайте дыра 995066909

0

Нет фото
• 28 авг 2013, 00:10


блин! уменя на сессиях без хтакеса в 100раз круче! но за старания +++
[сообщение прошло проверку админом]

0

Нет фото
4u4u * 0.04
• 25 авг 2013, 08:35


пиз***ец проще на сессии написать там пару строк кода то надо, и автор кода не ты
[сообщение прошло проверку админом]

0

Нет фото
• 24 авг 2013, 11:17


На онлайн игру идет
[сообщение прошло проверку админом]

0

Нет фото
NTL * 18.08
• 24 авг 2013, 01:49


Юзал подобное,работает на 100%