время
|
|
Часть IV. Безопасность Содержание 23. 41
но усложнит перебор возможных вариантов. Если вы не хотите знать, как именно были получены внешние данные, используйте переменную $_REQUEST, которая состоит из данных GET и POST запросов, а также данных COOKIE. Также, информацию об этом можно найти в разделе внешние данные в PHP.
Пример 30.3. Обнаружение попытки подмены переменных
<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {
// MAGIC_COOKIE получена из достоверного источника.
// Для полной уверенности необходимо проверить ее значение.
} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {
mail("admin@example.com", "Обнаружена попытка взлома", $_SERVER['REMOTE_ADDR']);
echo "Обнаружено нарушение безопасности, администратор уведомлен.";
exit;
} else {
// MAGIC_COOKIE в данных запроса не присутствует
}
?>
Следует понимать, что установка register_globals в off не сделает ваш код безопасным. Каждую полученную от пользователя переменную следует