我有 3 个 php 文件,我想用 php 在第三个文件中获取第一个引用。
我需要检查仅在 php 中出现的点击的引用者。
我不能在file3
中使用document.referrer
,因为它很容易被欺骗,我最好的选择是在某种程度上依赖 php 引用器。
我正在这样做
文件1.php内容
<a href="file2.php">file2.php</a>
文件2.php内容
<script type="text/javascript" src="file3.php"></script>
文件3.php内容
alert("<?php echo $_SERVER['HTTP_REFERER'];?>");
我得到http://localhost/site/file2.php
的警报,但我希望警报是http://localhost/site/file1.php
请参阅并建议仅在 php 中执行此操作的任何可能方法。
谢谢
您可以使用
document.referrer
.您不必为此加载PHP,只需使用JS文件(不是PHP(。
除非你控制file2.php
,否则你不能这样做,你说你不是。引荐来源网址标头可能完全丢失,或者充其量它指向重定向到您的file3.php
的 URL。并且正好有 0 或 1 个引用标头(换句话说,它是可选的(。
参考资料:维基百科:HTTP_referer
我有 3 个 php 文件,我想用 php 在第三个文件中获取第一个引用者
HTTP 引用器仅用于显示以前的 URL。但是,在很多情况下,它根本不会显示任何URL,在某些情况下(Safari(,它有些损坏,可以显示历史记录中更远的URL。
在得到明确的答案之前,您需要更好地解释您要实现的目标。
假设您想在访问 file3.php 之前在会话中的某个时间点检查用户访问的 file1.php,那么您需要捕获并存储他们对前者的访问,然后在后者处读回该值。
这可以通过LSO或PHP会话来完成。
确保 file1.php 是紧接在导致 file3.php 的页面之前的页面更为复杂。