Существует множество причин и обстоятельств, при которых $_SERVER['HTTP_REFERER']
не имеет значения.
Вы можете «попытаться» использовать его, и если у вас есть значение, используйте его, чтобы сделать что-то.
Но если у вас есть вероятность, что он пуст или неточен, вы не должны делать что-то столь же ожесточенное, как перенаправление, если оно пустое.
т.е. Вы можете использовать его на 404 не нашли страницу попытки, чтобы увидеть, где пришел пользователь, и оттуда попытки чтобы увидеть, где они, возможно, попытались пойти/пришли, и служить им некоторые ссылки на вашем сайте, которые они могут найти полезными.
Но просто не доверяйте ему, как к чему-то другому, кроме немного полезной информации, которая может быть очень неточной и (скорее всего) пустой.
EDIT:
Чтение вашего комментария, я вижу, вы пытались использовать его для предотвращения доступа к области участников.
Это очень плохой подход, поскольку он ничего не говорит о ценности с точки зрения управления доступом к области-члену.
Я даже не уверен, почему вы думали, что кто-то, пришедший с другой страницы с вашего сайта, должен гарантировать им доступ к «зоне членов».
Несомненно, нет никакой реальной разницы (с точки зрения «члена»): 1) Исходя из внешнего сайта в область ваших членов, чем 2) Исходя из внешнего сайта до на странице на вашем сайте, а затем в области участников?
Вам нужно научиться использовать $ _SESSIONS, и если область участника является защищенной областью, вам также понадобится система регистрации и входа в систему.
Это зависит от того, что вы пытаетесь защитить на самом деле. Однако это выходит за рамки этого вопроса.
Если вы ищете Stack для системы входа и $ _SESSION, вы сможете получить некоторую информацию.
Это плохая идея, и вы не собираетесь, чтобы получить его работу так, как вы хотите , – Marty
Есть лучший способ предотвратить доступ людей к членам. Php ?! Я думал, может быть, создание сеанса, но я не знаю, как –
Многие смартфоны и планшеты не отправляют этот заголовок! Не используйте его! – undone