如何检查是否键入了URL或来自php中的点击?

时间:2011-08-10 11:07:50

标签: php javascript

有没有办法让php判断一个地址是由用户直接输入还是来自点击或任何其他方法,最终会导致php生成的页面?

这个问题完全出于好奇,所以紧迫性非常非常低。但是谢谢你,如果你想留出一些时间来回答。 :d

5 个答案:

答案 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'];