Материал предоставлен https://it.rfei.ru

Суперглобальные переменные и проблемы безопасности

Теперь, перед началом использования суперглобальных переменных, следует предупредить о том, что они часто используются злоумышленниками, пытающимися отыскать средства для атаки и вмешательства в работу вашего веб-сайта. Они загружают в $_POST, $_GET или в другие суперглобальные переменные вредоносный код, например команды Unix или MySQL, которые, если вы по незнанию к ним обратитесь, могут разрушить или отобразить незащищенные данные.

Именно поэтому перед использованием суперглобальных переменных их всегда следует подвергать предварительной обработке. Для этого можно воспользоваться PHP-функцией htmlentities. Она занимается преобразованием всех символов в элементы HTML. Например, символы «меньше чем» и «больше чем» (<; и >) превращаются в строки &lt; и &gt, то же самое делается для перевода в безопасное состояние всех кавычек, обратных слешей и т. д.

Поэтому более подходящий способ доступа к $_SERVER (и другим суперглобальным переменным) выглядит следующим образом:

$came_from = htmlentities($_SERVER['HTTP_REFERRER']);

В этой главе были заложены надежные основы, необходимые для работы с РНР. В следующей главе мы приступим к практическому использованию изученного материала для построения выражений и управления ходом программы. Иными словами, приступим к реальному программированию.

Но перед переходом к новой главе рекомендуем проверить свои знания, ответив на некоторые (или на все) вопросы, чтобы убедиться в том, что вы полностью усвоили содержимое этой главы.

Суперглобальные переменныеПроверка знаний: Введение в PHP