Skip to main content

如何使用HTTP Referer

How to fake the 'referer' with 911 S5 (可能 2024)

How to fake the 'referer' with 911 S5 (可能 2024)
Anonim

您在网站上看到的信息只是这些网站从Web服务器传输到个人浏览器时传输的数据的一部分,反之亦然。在幕后发生了大量的数据传输 - 如果您知道如何访问这些数据,您可以以有趣和有用的方式使用它!在本文中,我们将查看在此过程中传输的一个特定数据 - HTTP referer。

Referer是这个词的拼写错误 引用 ,这是介绍并保留在代码和此功能的命名。

什么是HTTP Referer?

HTTP referer是Web浏览器传递给服务器的数据,用于告诉您读者在访问此页面之前所处的页面。这些信息可以在您的网站上使用,以提供额外帮助,为目标用户创建特别优惠,将客户重定向到相关页面和内容,甚至阻止访问者访问您的网站。您还可以使用JavaScript,PHP或ASP等脚本语言来读取和评估引用者信息。

使用PHP,JavaScript和ASP收集Referer信息

那么如何收集这个HTTP referer数据呢?以下是您可以使用的一些方法:

PHP将引用信息存储在名为HTTP_REFERER的系统变量中。要在PHP页面上显示引用,您可以编写:

if(isset($ _ SERVER 'HTTP_REFERER')){echo $ _SERVER 'HTTP_REFERER';}

这将检查变量是否具有值,然后将其打印到屏幕上。而不是

echo $ _SERVER 'HTTP_REFERER'; 你会放置脚本行来检查各种引用。

JavaScript使用DOM来读取引用者。就像使用PHP一样,您应该检查以确保引用者具有值。但是,如果要操纵该值,则应首先将其设置为变量。以下是如何使用JavaScript向您的页面显示引用者的方法。请注意,DOM使用referrer的备用拼写,在那里添加额外的“r”:

if(document.referrer){var myReferer = document.referrer;文件撰写(myReferer);}

然后,您可以在脚本中使用带有变量的referer

myReferer

与PHP一样,ASP在系统变量中设置引用。然后,您可以收集这样的信息:

if(Request.ServerVariables(“HTTP_REFERER”)){Dim myReferer = Request.ServerVariables(“HTTP_REFERER”)的Response.Write(myReferer)}

您可以使用该变量

myReferer 根据需要调整脚本。

一旦你有了参考者,你能用它做什么?

因此,获取数据是第1步。如何进行,具体取决于您的具体网站。当然,下一步是找到使用这些信息的方法。

获得引用数据后,您可以使用它以多种方式为站点编写脚本。您可以做的一件简单事情就是发布您认为访客来自哪里。不可否认,这很无聊,但如果你需要进行一些测试,这可能是一个很好的切入点。

更有趣的例子是当你使用引用来显示不同的信息时 哪里 他们来自。例如,您可以执行以下操作:

  • 一般欢迎信息
    • 您可以在常规欢迎消息中在页面顶部打印referer URL。正如我上面提到的那样,它很无聊,但确实提供了一些基本的个性化。
  • 欢迎搜索引擎访客
    • 当有人从搜索引擎到达您的网站时(即他们的推荐人是google.com或bing.com或yahoo.com等),您可能希望向他们提供一些额外的信息,以鼓励他们停留更长时间你的网站。您可以指出您的简报网址,也可以链接到您网站上一些更受欢迎的网页。
  • 将信息传递给表格
    • 如果您的网站上有一个链接供人们报告网站本身的问题,那么了解参考资料可能非常有用。人们通常会在不指示URL的情况下报告网页问题,但您可以使用引用者信息来猜测他们报告的内容。此脚本会将引用程序添加到隐藏的表单字段,从而允许您获取有关站点可能遇到问题的位置的数据。
  • 为一些访客创建特别优惠
    • 也许您希望为来自特定页面的人提供有关您的产品或服务的特殊优惠。这是个性化的另一个例子,您可以根据用户数据塑造他们的用户体验和内容。例如,如果您销售各种产品,您可以提供与他们已经存在的相关的交易。看着你的网站。
  • 将访问者发送到另一页
    • 您还可以将特定引用者的人员发送到另一个页面。要非常小心,因为谷歌和其他搜索引擎可能会认为这会误导您的网站并使其受到惩罚。

使用Referer的.htaccess阻止用户

从安全角度来看,如果您从一个特定域中在您的网站上遇到大量的引用垃圾邮件,则可以帮助您从您的网站中阻止该域名。如果您使用安装了mod_rewrite的Apache,则可以使用几行来阻止它们。将以下内容添加到您的

.htaccess文件:

RewriteEngine on#Options + FollowSymlinksRewriteCond%{HTTP_REFERER} 垃圾邮件发送者 .COM NCRewriteRule。* - F

记得改变这个词

垃圾邮件发送者 .COM 到您要阻止的域。记得把放在域中任何时期的前面。

不要依赖于Referer

请记住,有可能欺骗引用者,所以你应该这样做 决不 单独使用引用来保证安全。您可以将其用作其他安全性的附加组件,但如果某个页面只能由特定人员访问,那么您应该在其上设置密码

htaccess的.