使用referrer运行脚本
我想知道是否可以根据引用网站执行脚本。例如,如果用户从 Facebook 访问我的网站,那么我希望激活该脚本,但如果用户通过 google 搜索访问该网站,则该脚本将不会运行。这可能吗?
I was wondering if it is possible to execute a script depending on the referrer site. for example if a user accesses my site from Facebook then i want the script to be activated, but if the user accessed the site through google search then the script will not be ran. Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您应该能够测试
$_SERVER['HTTP_REFERER']
来查看用户是否来自 Facebook 以及行为是否有所不同。You should be able to test
$_SERVER['HTTP_REFERER']
to see if the user came from facebook and behave differently.您是指服务器端脚本还是客户端脚本?
从客户端,您可以通过
document.referrer
访问引荐来源网址(是的,使用双“r”,即使相应的 HTTP 标头拼写错误)。例如。:Do you mean a server-side or client-side script?
From the client side you can access the referrer through
document.referrer
(yes, with a doubled ‘r’, even though the corresponding HTTP header is mis-spelled). eg.:这是有可能的。请记住,引用者可能会被欺骗,因此您永远不应该根据其值执行与安全相关的操作。
It's possible. Just bear in mind that the referer can be spoofed, so you should never do security relevant things based on its value.
我会做这样的事情:
I would do something like this: