Какой самый надежный способ очистить HTTP-реферер пользователя?
У меня есть страница, которая перенаправляет пользователей на другой сайт с помощью функции заголовка PHP (). Однако я хочу очистить переменные HTTP_REFERER пользователей, прежде чем отправлять их на этот сайт.
Какой самый надежный способ сделать это? Я думаю, PHP не может помочь, так как HTTP_REFERER-это переменная на стороне клиента. Может быть, JavaScript тогда? Есть ли для этого облегченная библиотека?
3 ответа:
Вы можете обнаружить реферер в JavaScript, но не установить его.
Вы можете отправить их на промежуточную страницу, скажем, на PHP, которая, однако, может установить реферер, а затем переслать их дальше.
Вот процесс на так & пошаговое руководство по использованию этой ссылки SO.
Метод только для js:
location.href="data:text/html,"+ encodeURIComponent("<script>location.href='http://yahoo.com/'<\/script>");
Даже если бы код оставил ссылку, он был бы адресован dataURL, а не вашему сайту.
Единственный надежный способ-это иметь своего рода страницу перехода между вашим источником и местом назначения.
Например:
example.com/var/product/1234
=>example.com/redirector/google.com
=>google.com
Таким образом, конечный сайт получит только ссылку на страницу перехода.
Если вы хотите полностью скрыть тот факт, что пользователи приходят с вашего сайта, Вам нужно разместить страницу перехода на другом домене. The anonym.to сайт предлагает именно такую услугу. Однако, поскольку это свободная, 3-я сторона вместо этого вы можете разместить свой собственный сервис, чтобы гарантировать доступность и предотвратить любое возможное протоколирование запросов. Реализация будет составлять около 3 строк кода PHP.