Есть ли смысл проверки в коде: $_SERVER['REQUEST_METHOD'] == 'TRACE' ?

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Нашел в интернете. Есть ли смысл использовать эту конструкцию?
Код:
	// --- Отсечение TRACE метода и глобальных параметров
	if($_SERVER['REQUEST_METHOD'] == 'TRACE'){ die('Bad Request.'); }
	if(isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])){ die('Bad Request.'); }
	if(!is_array($GLOBALS)){ die('Bad Request.'); }
 
Разве только при особой параное.

Хотя многое зависит от того, что делает сам скрипт.
 
Нашел в интернете. Есть ли смысл использовать эту конструкцию?
Код:
	// --- Отсечение TRACE метода и глобальных параметров
	if($_SERVER['REQUEST_METHOD'] == 'TRACE'){ die('Bad Request.'); }
	if(isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])){ die('Bad Request.'); }
	if(!is_array($GLOBALS)){ die('Bad Request.'); }

9.8 TRACE.

Метод TRACE используется для вызова удаленного возврата сообщения запроса на уровне приложения. Конечному получателю запроса СЛЕДУЕТ отразить полученное сообщение обратно клиенту как тело объекта ответа с кодом состояния 200 (OK). Конечным получателем является либо сервер происхождения, либо первый прокси-сервер, либо первый шлюз, получивший нулевое значение (0) в поле Max-Forwards в запросе (см. раздел 14.31). Запрос TRACE НЕ ДОЛЖЕН содержать объекта.

TRACE позволяет клиенту видеть, что получается на другом конце цепочки запросов и использовать эти данные для тестирования или диагностической информации. Значение поля заголовка Via (раздел 14.44) представляет особый интерес, так как оно действует как след цепочки запросов. Использование поля заголовка Max-Forwards позволяет клиенту ограничивать длину цепочки запросов, что является полезным при тестировании бесконечных циклов в цепочке прокси-серверов, пересылающих сообщения.

Если запрос успешно выполнен, то ответу СЛЕДУЕТ содержать все сообщение запроса в теле объекта (entity-body), а Content-Type следует быть равным "message/http". Ответы на этот метод НЕ ДОЛЖНЫ кэшироваться.
 
:D Прочитал описание для Trace. Каждое слово отдельно понимаю, а предложения уже нет. Видимо не дорос еще. Тогда перефразирую по другому. Можно ли как-нибудь с помощью trace сделать что-нибудь нехорошее.

Хотя многое зависит от того, что делает сам скрипт.
Самая простая CMS. Менюшка и вывод данных по ссылкам менюшки.
 
я думаю в простых вариантах ничего срашного не будет!
 
Лучше подстраховаться, не убудет. С помощью TRACE можно иногда угнать куки. Поскольку значения cookie передаются на сервер вместе с запросом, то становится ясна возможность использования запроса TRACE для наших темных дел :)
 
становится ясна возможность использования запроса TRACE для наших темных дел

Сам то понял что сказал?

Код абсолютно бессмысленен. Писал его самый что ни на есть быдло-кодер.

$_SERVER['REQUEST_METHOD'] == 'TRACE'
ну и? что с того? от тебя убудет если выполнится скрипт? каким образом метод вызова может нарушить работу скрипта? никаким.


isset($_REQUEST['GLOBALS'])
переменные в _REQUEST Заносятся из _GET & _POST параметров
это все равно что проверять isset($_GET['GLOBALS']), isset($_POST['GLOBALS'])
бред.

в массиве _FILES ключами являются исключительно названия полей вместе с которыми передаются файлы на сервер. Смысл исключать именно такое название?

$GLOBALS по определению массив.



Вывод: КодоБред первого сорта.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху