重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
php 的$_SERVER里面有一个参数: $_SERVER['HTTP_REFERER']
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站设计、市南网络推广、小程序设计、市南网络营销、市南企业策划、市南品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供市南建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
可以获取当前链接的上一个连接的来源地址,即链接到当前页面的前一页面的 URL 地址,可以做到防盗链作用,只有点击超链接(即A href=...) 打开的页面才有HTTP_REFERER环境变量, 其它如 window.open()、 window.location=...、window.showModelessDialog()等打开的窗口都没有HTTP_REFERER 环境变量。
你可以去详细的了解一下这个参数的作用
PHP实现页面跳转的方式很多,可以使用header函数实现重定向,可以利用HTML Meta标签功能,以及js等来实现。示例如下:
1.PHP header函数:
?php
header("Content-type: text/html; charset=utf-8");
//示例跳转网址 $url="";
$url="
//重定向浏览器
header("Location: {$url}");
//退出
exit;
?
2.使用HTML中Meta标签实现跳转,content:跳转秒数(多少秒之后进行页面跳转);url:跳转地址。
html
head
meta http-equiv="refresh" content ="1; url=?php echo $url;?"
/head
body
页面将在10秒后进行跳转!!!
/body
/html
3.利用JS进行跳转;
?php
//示例跳转网址 $url="";
$url="
echo( "script language='javascript' type='text/javascript'");
//重定向
echo ("window.location.href={$url}");
echo ("/script");
?
正常的思路,这样的需求应该使用AJAX,就是用JS代码获取tv.php的返回内容,然后替换到指定的DIV里面显示出来。如果你有JS基础,这个AJAX也不高深,能学会的。
简单的方法就是使用隐藏框架来实现,设置一个隐藏的iframe,当这个框架本身不显示,而是加载内容完毕后把内容复制到DIV,代码例如:
iframe width=0 height=0 stype='display:none' name=xxx onload='document.getElemenByID("bott").innerHTML=this.body.innerHTML;'/iframe
剩下就是修改你的链接,指向这个隐藏框架既可,例如:
a href=tv.php target=xxx电视/a
header('Location:'. str_replace('login_url:', '', file_get_contents($filename)));
其中$filename变量是你那个要读取的url路径
目前我知道两种跳转方式最常用,一种是form表单提交,一种是js中location.href跳转
1.常规方法:可以通过 $_SERVER['HTTP_REFERER'] 获取,不过http 请求头中可能不带referer这个属性(具体取决于浏览器对HTTP协议的执行规范上)。如果请求头中不带referer属性,那么在$_SERVER全局数组中就获取不到HTTP_REFERER。所以说这个方法不靠谱!!!
2.靠谱方法:在服务端记录每次请求的URL($_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"]),具体存储位置可以放到session文件(或者数据库),比如第一次请求的页面为Page1,这时候就把Page1完整地址(可能有QUERY_STRING)存储起来,第二次请求新页面Page2的时候就可以获取到Page1了,然后更新lastPage的值为Page2,方便下次再获取上一页地址。以此类推,就可以实现你想要的的功能了。