PHP - опасная переменная $REQUEST_URI

Сейчас у многих начнут сыпаться волосы на головах, особенно у PHP-программистов. PHP — опасная переменная $REQUEST_URI? Нет, $REQUEST_URI — это же очень удобная переменная окружения! Но не всё так просто, а точней если сказать просто — не используйте её, никогда! Простой пример влияние хакера на такие переменные, вот код:

<?php 

 print («<form action=\ «.$SERVER_NAME.$REQUEST_URI\»

  method=\»post\»>»);

  // к примеру, здесь элементы управления

 print («<input type=\»submit\» value=\»Submit\ «>»);

 print («</form>»);

?>

Теперь обратим внимание, здесь форма передаёт введенные данные сценарию. Адрес формируется из $SEVER_NAME и $REQUEST_URI, и если мы объединим две эти переменных, то получится полный URL к текущему сценарию. А значит, сценарий направит данные сам себе, но при этом URL будет определён динамически. Удобно? Конечно удобно и смотрите мол как легко! Опасно? Не то слово, чертовски опасно дамы и господа! Не верите? Ну так смотрите, я в роли хакера ввожу в строку URL следующий адрес:

http://yoursite/index.php?»><script>alert(document.cookie)</script>

В ответ на такой запрос браузер отобразит модальное окошко со всем содержимым файлов cookie! Да, конечно скажут многие, хакер же увидит собственные куки-файлы. Да это верно, но чтобы украсть ваш cookie или любого другого пользователя достаточно сделать так, чтобы жертва щелкнула по нужной ссылке, и поставить немного другой JS-код. Вот так вот, так что проверяет свою любимую и опасную (я не про вашу женщину или девушку) переменную $REQUEST_URI на недопустимые символы, а именно необходимо фильтровать попытки обращение к < или >.

PHP - опасная переменная $REQUEST_URI
PHP - опасная переменная $REQUEST_URI
PHP - опасная переменная $REQUEST_URI
Written by: PHP
Date Published: 05/20/2015
Надеюсь теперь вы знаете как правильно и безопасно программировать на PHP с этой переменной
5 / 5 stars