导航:首页 > 编程语言 > php获取请求来源

php获取请求来源

发布时间:2023-06-08 07:44:45

⑴ 刚学习php,问一下,帝国CMS里面e/class/connect.php 函数CheckCanPostUrl()

首先global $public_r;首先定义一个全局变量$public_r,这个变量是一个数组,里面存了一些系统设置,如网站域名等,在这里$public_r['canposturl']是系统设置里面的“前台允许提交的来源地址”,每一列是一个地址,比如
http://www..com
http://www.google.com
让我们一行一行分析:
if($public_r['canposturl']){ //如果设置了前台允许提交的来源地址
$r=explode("\r\n",$public_r['canposturl']); //按照换行\r\n切分为一个数组$r,结果应该是
$r = array('http://www..com', 'http://www.google.com');
$count=count($r);//使用数组的count方法统计有多少条地址
$b = 0; //这个变量是当作一个标志,用来判断
for($i=0;$i<$count;$i++) //
$_SERVER['HTTP_REFERER'] //这个得到的是页面的来源地址,比如我从http://www.11111.com点击一个链接到http://www.2222.com,那么http://www.2222.com使用$_SERVER['HTTP_REFERER'] 得到的就是http://www.11111.com
for($i=0;$i<$count;$i++)
if(strstr($_SERVER['HTTP_REFERER'],$r[$i]))

这个将页面的来源地址循环和“前台允许提交的来源地址”数组$r里面的每一条对比,如果存在就跳出循环并设置$b=1,如果不存在就继续循环,循环结束看$b的值,只有在存在的情况下才会得到$b=1,否则$b=0,当$b=0的时候,使用错误跳转函数printerror,'NotCanPostUrl'是一个错误常量,在e\data\language\gb\pub\q_message.php中,表示'请从网站提交数据'。

这个函数就是用来判断前台提交的表单是不是从指定的网站发来的,防止有人修改表单恶意注册等等之类的。

⑵ php准确判断ajax请求的来源地址,怎么处理

比如下面的这段代码,在usa.php;(http://test2.designsun.net/usa.php)
中如何准确判断来源是list.html;(http://test1.designsun.net/admin/ProUpLoad/list.htm?/+zd)?
目的是要达到某个域名下的ajax过来我才执行并且返回(因为JSONP是可以跨域的),如果有其他办法达到此目的也可行。
$.ajax({
type : "post",
url : "http://test2.designsun.net/usa.php?"+url,
dataType : "jsonp",
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
success : function(json){
$("body").empty();
//alert(json);
dwrite(json);

},
error:function(){
$("body").html("抱歉加载失败了....");
}
});
我知道php端可以用$_SERVER['HTTP_REFERER']获取到,但是这个SERVER变量不是通用的(有时候因为服务器环境的问题可能会没有值),不知道有什么准确的方法?(排除在ajax里传地址参数过去的做法)

最终要实现
http://test1.designsun.net/admin/ProUpLoad/list.htm?/+zd这个格式访问内嵌的是http://www.hao123.com

http://test1.designsun.net/admin/ProUpLoad/list.htm?后面加任何代码
访问内嵌的是http://www..com
望采纳

⑶ php怎么准确判断ajax请求的来源完整地址

1、你想要的地址:111.com

2、请求的地址:111.com或者222.com,等等地址

$trueUrl='111.com';
$reqUrl=$_SERVER['PHP_SELF'];
if(strstr($reqUrl,$trueUrl)==$trueUrl){
echo'正确来源地址';
}else{
rerurnfalse;
}

⑷ PHP 获取来源页面URL

$_SERVER['HTTP_REFERER']

是可以的。

你做两个页面。t1/php ,t2.php
t1.php 的页面输出
$_SERVER['HTTP_REFERER'] 和
<a href='t2.php'>t2.php</a>

t2.php 的页面输出
$_SERVER['HTTP_REFERER'] 和
<a href='t1.php'>t1.php</a>

你就可以看到效果了。

当然直接输入地址:$_SERVER['HTTP_REFERER']=“”,通过两个超链接互相访问就考到
$_SERVER['HTTP_REFERER'] 的值了。

⑸ php如何获取网址中的参数

比如有一个网址为

http://域名/goods.php?u=59&id=24#pinglun

我想得到这个id值

可以用正则,也可以用php函数解析到数组中

用正则可以这样

preg_match('/id=(d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 这个表示当前网址url

print_r($m[1]);exit;

或者用parse_url()及parse_str()函数

$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);

parse_str($cur_q,$myArray);

print_r($myArray["id"]);exit;

拓展资料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP的特性包括:

1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,

PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3. PHP支持几乎所有流行的数据库以及操作系统。

4. 最重要的是PHP可以用C、C++进行程序的扩展!

参考资料:网络 PHP

⑹ 在PHP中怎么接收来自app的JSON数据

根据你的代码,你是用的是POST方法。

要在PHP中整体接收POST数据,有两种方法。

注意,要使用以下两种方法,Content-Type不能为multipart/form-data。

方法一:

使用:

file_get_contents('php://input')

其中,php://input是一个流,可以读取没有处理过的POST数据(即原始数据)。相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特殊的php.ini设置。

方法二:

使用此方法,需要设置php.ini中的always_populate_raw_post_data值为On。

使用$HTTP_RAW_POST_DATA,包含了POST的原始数据。但这不是一个超全局变量,要在函数中使用它,必须声明为global,或使用$GLOBALS['HTTP_RAW_POST_DATA']代替。

⑺ PHP 获取域名的几种方法

获取当前的域名:
echo $_SERVER['SERVER_NAME'];
//获取来源网址,即点击来到本页的上页网址
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];//获取当前域名的后缀
$_SERVER['HTTP_HOST'];//获取当前域名
dirname(__FILE__);//获取当前文件的物理路径
dirname(__FILE__)."/../";//获取当前文件的上一级物理路径
?>

阅读全文

与php获取请求来源相关的资料

热点内容
程序员毕设可以攻哪个方向 浏览:427
毛绒玩具怎么压缩 浏览:378
拖拉式编程教学视频 浏览:793
服务器坏了硬盘数据如何取出 浏览:602
体积加密度等于质量吗 浏览:608
如何执行命令 浏览:859
速卖通指标源码 浏览:179
linux切换root登录 浏览:925
什么是有效的服务器地址 浏览:825
交通银行app如何信用卡额度查询 浏览:479
asp程序员收入 浏览:334
无线有密码显示未加密 浏览:212
检查服务器地址命令 浏览:599
编译过程和解释过程的图表形式 浏览:837
文明重启如何弄自己的服务器免费 浏览:912
服务器权限不足如何解决 浏览:373
少儿编程乐高主要是学什么 浏览:674
张家口人社app如何实名认证 浏览:296
淘宝图片怎么设置加密 浏览:314
pdf拼接器 浏览:786