Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   [PHP] Общая защита (https://forum.antichat.xyz/showthread.php?t=227461)

|qbz| 02.09.2010 18:37

Предлагаю в этом топике писать пхп-функции/скрипты, которые работают на стадии инициализации основного пхп-скрипта и помогают защитить сервер.

Если криво выразился, то вот мой первый пример, какой я и имел ввиду:

инклудим в самом начале скрипта, который хотим защитит от раскрытия путей, путем посылки массивов:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])

{

if (([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])) && (![/COLOR][COLOR="#0000BB"]in_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$variab[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$exceptions[/COLOR][COLOR="#007700"])))

{

return ([/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);

}

}

}

return ([/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);

}

if (![/COLOR][COLOR="#0000BB"]defence_try_directory_traversal[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'tut-pishem-nazvaniya-peremennyx-kotorye-MOGUT-byt-massivom'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'ili-tut'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'ili-tut'[/COLOR][COLOR="#007700"])))

{

echo([/
COLOR][COLOR="#DD0000"]'Hacking attempt'[/COLOR][COLOR="#007700"]);exit;

}

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 


mr.The 02.09.2010 21:06

я передам твоему скрипту 100500 переменных 20 раз в секунду и сервер умрёт. делай выводы.

|qbz| 02.09.2010 21:56

Цитата:

Сообщение от None
я передам твоему скрипту 100500 переменных 20 раз в секунду и сервер умрёт. делай выводы.

а зачем мне делать какие то выводы? то что ты говоришь - это откровенный ддос, а мой скрипт является защитой против раскрытия путей. если нужно решить проблему, о которой ты написал - надо писать другой скрипт. лучше бы защиту написал тогда уж

Seravin 02.09.2010 22:12

а можно вначале скрипта написать error_reporting(0) =)

попугай 03.09.2010 00:16

Абсолютно бессмысленно.

Достаточно

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if(![/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'var'[/COLOR][COLOR="#007700"]]))[/COLOR][/COLOR

или error_reporting(0);


Время: 22:33