有没有办法让php判断一个地址是由用户直接输入还是来自点击或任何其他方法,最终会导致php生成的页面?
这个问题完全出于好奇,所以紧迫性非常非常低。但是谢谢你,如果你想留出一些时间来回答。 :d
答案 0 :(得分:2)
您可以查看http_referrer,对于通过直接输入地址栏加载的网页,它不应该有任何引荐来源,但通过点击加载的页面将有一个引荐来源。
答案 1 :(得分:2)
您可以使用$_SERVER['HTTP_REFERER']
。它应设置为将用户引导到您的页面的页面。如果用户输入了地址,则该地址为空。
但是,请注意,它不可靠,并且可以由用户轻松修改。正如PHP doc所说,你真的不相信它。
答案 2 :(得分:2)
一般来说,你不能。
0)键入(或复制粘贴!)链接 - REFERER将为空
1)点击网页上的链接 - 将设置REFERER
2)点击电子邮件客户端中的链接(不是基于网络的gmail) - REFERER将为空
3)作为主页加载的链接 - REFERER将为空
4)从书签加载的链接 - REFERER将为空
因此,使用PHP $_SERVER['HTTP_REFERER']
变量,您只能将案例1与所有其他案例区分开来......
答案 3 :(得分:1)
为此目的使用http_referrer是非常不可靠的。当用户在某些浏览器中键入URL时,HTTP_REFERRER为空。它在Chrome 19中为NULL,在IE8中为非NULL。
答案 4 :(得分:0)
$direct = (bool)$_SERVER['HTTP_REFERER'];