php获取referer
Ⅰ 我要问的是,后端php怎么判断请求是来自前端
可以通过http_referer来判断.
如果安全性要求高的话建议用https 并且在前台表单里生成一个验证字符串,每次提交都判断验证字符串是否有效。
Ⅱ php如何准确的获取前一页地址 $_SERVER['HTTP_REFERER']这玩意不好使。
1.PHP 获取上一页的URL
在php中可以通过内置的变量的属性来获取上一页的URL: $_SERVER['HTTP_REFERER'].
但是在IE中如果跳转是通过js函数如: window.location.href 或者 window.open的话, $_SERVER['HTTP_REFERER'] 返回的是空的。通过连接或者表单提交的则工作正常。FF工作正常。
另外$_SERVER[PHP_SELF]获取当前页面的url;
2. JS 获取上一页的URL
在js中也有document本身属性可以或许上一页的URL:document.referrer
但是这个跟php的 $_SERVER['HTTP_REFERER']一样,在IE中当是利用js函数跳转的话,得到的也是空值
但如果你仅仅想利用js来实现跳转到上一页或者是上上几页的话:
返回到前第几个页面: window.history.go(返回第几页,也可以使用访问过的URL);
返回前一个页面: history.go(-1), 返回两个页面: history.go(-2);
返回前一页面: history.back();
使用方法<a href="javascript:history.back();">向上一页</a>
Ⅲ 求一段php代码,禁止用户直接输入网址访问,但是通过搜索引擎搜索可以正常访问!
<?php
if ((!isset($_SERVER['HTTP_REFERER']) || !$_SERVER['HTTP_REFERER']) && (stripos($_SERVER['HTTP_USER_AGENT'], 'bot') === false && stripos($_SERVER['HTTP_USER_AGENT'], 'spider') === false)) {
exit('没有referer,user-agent中不含有bot或spider');
}
Ⅳ php获取url参数
1、在当前网页echo出变量$_SERVER['HTTP_HOST']即可获取域名或主机地址。