Говорят, что он не доверяет $ _SERVER [«HTTP_REFERER»], потому что он тоже может …
http://php.net/manual/en/reserved.variables.server.php
$_SERVER["HTTP_REFERER"]
Принимая во внимание тот факт, что он может быть подделан, мой вопрос теперь заключается в следующем: какие браузеры не устанавливают переменную и делают те, которые делают, всегда устанавливают ее постоянно, для HTTP-запросов на изображения.
После некоторого тестирования во всех основных браузерах, включая IE6 и выше, мне еще предстоит найти тот, который не устанавливает $ _SERVER [«HTTP_REFERER»] или не устанавливает его правильно.
Можем ли мы сказать, что все браузеры действительно устанавливают переменную, или что большинство из них делают? Есть ли список браузеров, которые терпят неудачу?
Я не уверен, что вы можете даже дать список браузеров / UA, которые были бы последовательны в этом отношении.
Рассматривать:
Из Руководства хакера веб-приложений:
Заголовок Referer строго необязателен в соответствии со стандартами w3.org.
следовательно хотя большинство браузеров реализуют это, используя его для контроля
Функциональность приложения должна рассматриваться как «взлом».
Поскольку хакер может перехватить HTTP-запрос с использованием соответствующих задач и может изменить его перед отправкой HTTP-запроса, он не должен использоваться для управления какой-либо функциональностью приложения.