ОБСУЖДЕНИЕ

mini Site Guard

44 сообщений0 просмотровОткрыта
#1
Ну вот собсно небольшой кодец, кто боится всяких мрачных хакироф..
P.S на тот случай если вы используете mysql.

PHP


$mysql = true;
$hook  = false;
if ($mysql) {
        $ip = getenv ("REMOTE_ADDR");
        $globals = array_merge ($_GET,
                                $_POST,
                                //$_SESSION,
                                $_COOKIE);
        foreach ($globals as $k => $v) {
                if ($hook == false)
                        if (preg_match ("/'|\"/",
                                        $v)) $hook = true;
        }
        if (preg_match ("/$ip/",
                        file_get_contents (".\\ip.txt"))) {
                $hook = true;                
        }
                
        if ($hook == true) {
                
                if (!preg_match ("/$ip/",
                                 file_get_contents (".\\ip.txt"))) {
                        file_put_contents (".\\ip.txt",
                                           "$ip\n");
                }
        
                echo "<!doctype html>" . PHP_EOL;
                echo "<html>" . PHP_EOL;
                echo "<head>" . PHP_EOL;
                echo "<title>Стоп!</title>" . PHP_EOL;
                echo "<style>body {font-family:Arial;font-size:13px;}</style>" . PHP_EOL;
                echo "</head><body>" . PHP_EOL;
                echo "Здравствуйте, наша система безопасности обнаружила попытку взлома с вашего IP адреса!<br/>" . PHP_EOL;
                echo "Доступ к сайту ограничен!" . PHP_EOL;
                echo "</body>" . PHP_EOL;
                echo "</html>";
                exit;
        }
}


#2
Куда вставить то?
#3
в системный файл, на самый верх.
#4
Добавь туда
$_SERVER
$_COOKIE
$_SESSION
$_REQUEST
#5
$globals = array_merge ($_GET, $_POST);

вот сюда
#6
VITAMIN, куда $GLOBALS делись?)
#7
Ты это не мне пиши,а в код добавь,мб кто копировать будет)
#8
Тогда и $_ENV),раз все)
#9
P.S если вы НЕ ИСПОЛЬЗУЕТЕ сессии, то $_SESSION нужно убрать т.к у версии php выше 5.1 выбивает ошибку undefined и not array argument!
#10
foreach ($globals as $global) {
$global = $global;
}
Бох ты мой
#11
foreach ($globals as $global);
-> $global не определена, мб у меня php не настроен.. пришлось так.
#12
Я про то что этот код будет всегда возвращать последний индекс массива.
он у тебя тупо презаписывает значения в одну переменную
#13
можно сделать флажками впринцепи..
#14
Например?
ты меня не понял походу....
твой гуард не рабочий))
#15
KpuTuK, секунду..
#16
я тебя понял))
#17
3KZO, Да и кстати ?sql=injection пройдет как занех тут нужно array map использовать
#18
KpuTuK, с чего вдруг?)))
#19
я на старый код писал
#20
ясно, ну я про флажки вот что имел ввиду ^
Страница 1 из 3 · Всего записей: 44