Скажите, пожалуйста, если у меня есть переменная $var
, которая возвращает: http://foo.com
- тогда как я могу проверить, идентичен ли этот uri тому, что возвращает $referrer
(учитывая его), или к его первой части, если $referrer = http://foo.com/oof/
или дольше ..?Как сравнить переменную с первой частью HTTP_REFERER?
С (любой лучше?):
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
В основном я хотел бы иметь, если/другое дело, когда Ури матчи и когда он не делает. Мне также интересно, как это сделать взломать сейф, если вы это сделаете, чтобы его нельзя было обмануть, когда $referrer
подделка такая: http://badsite.com/file.php?param1=http://foo.com
, и поэтому здесь часть http://foo.com
не будет считаться законным совпадением.
Спасибо!
Спасибо! Скажите, пожалуйста, что-то означает, что часть '' host'' означает, что только исходный экземпляр 'http: // .... com' в' $ domain' будет проверен для соответствия, следовательно, он не будет подвержен обману как я упоминал в первоначальном вопросе? – Alex
Вы не можете быть на 100% уверены в реферере, потому что кто-то может прервать HTTP-запрос и изменить реферера, и вы не знаете. – Abkarino
Возможно, вам стоит начать сеанс и сохранить в нем реферер.Это единственные переменные, которые пользователь не может достичь или знать контент. – Abkarino