К вопросу о готовности к PHP 6

Сообщение Nemezida » 07 июн 2020, 13:27

Автор: n-sw-bit
В первую очередь в ближайшей версии PHP не будет magic quotes...
Чтобы проверить свой скрипт на уязвимость в их отсутствие поставьте в начале его следующий код:
Код: Выделить всё
if(get_magic_quotes_gpc()){
function undo_magic_quotes_array($array){
return is_array($array) ? array_map('undo_magic_quotes_array', $array) : str_replace("\\'", "'",
str_replace("\\\"", "\"",
str_replace("\\\\", "\\",
str_replace("\\\x00", "\x00", $array))));
}
  $_GET = undo_magic_quotes_array($_GET);
  $_POST = undo_magic_quotes_array($_POST);
  $_COOKIE = undo_magic_quotes_array($_COOKIE);
  $_FILES = undo_magic_quotes_array($_FILES);
  $_REQUEST = undo_magic_quotes_array($_REQUEST);
}

Это отключает magic quotes насильно. После проверяйте, безопасность должна полностью сохраниться.
Также этот скрипт позволяет избежать кучи проверок вида:
Код: Выделить всё
if (get_magic_quotes_gpc())

поскольку теперь переменные всегда чисты.

Добавлю, что safe_mode также больше не будет, поэтому отключите его и проверьте степень вашей безопасности со всеми system, shellexec и т.п. Не крутится ли ваш сервак под рутом?)
Аватара пользователя
Nemezida
Администратор
Администратор
 
Сообщения: 432
Зарегистрирован: 20 сен 2019, 21:32

Вернуться в TBDeV

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1