是否可以在php中更改$ _ ['http_referer']?

时间:2012-08-28 06:40:10

标签: php

  

可能重复:
  PHP - Referer redirect script

我期待制作改变浏览器http_referer的脚本,例如

我有链接

http://www.mysite.com/page.php?changeRefererTo=mysite2.com&redirectTo=www.newwebsite.com

ChangeRefererTo持有将更改浏览器http_referer代码的值。更改http_referer后,它将指向$ redirectTo。

是否可以使用PHP?

2 个答案:

答案 0 :(得分:4)

您无法从服务器更改浏览器的引荐来源概念。您可以在PHP中更改$_['http_referer'],但这只会影响PHP看到的内容,而不会影响浏览器看到的内容。如果您能够修改浏览器的引荐来源,那么这将是一个安全问题,因为网站可能会强制浏览器使用他们想要的任何引荐来源。

但是,您的PHP脚本可以使用您想要的任何引用来获取页面,然后将结果显示给用户。有关此问题的实例,请参阅PHP - Referer redirect script

答案 1 :(得分:1)

你不能。

引用者由浏览器设置(即客户端)。 PHP在服务器端运行,无法更改客户端信息。

另一种选择是通过javascript更改它,但是browsers will not allow you to change it。如果您绝对必须使用来自www.newwebsite.com的引用来点击mysite2.com,则可以使用cURL或类似的库来设置您自己的HTTP标头。这假设您无法控制mysite2.com。如果您确实可以控制它,那么您可以从mysite2.com重定向到mysite.com,然后从www.newwebsite.com重定向到mysite2.com