<返回更多

php获取ajax请求来源页面地址的方法

2019-08-12    
加入收藏

今天有童鞋来问,在网站的后台如何获取ajax请求来源的页面地址,并根据来源地址的不同做一些简单逻辑判断。那么针对这个问题,写篇博文,做一下回答。

php获取ajax请求来源页面地址的方法

 

php $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址

$_SERVER['HTTP_REFERER']:可以获取链接到当前页面的前一页面的地址:

例如:

A页面的地址为:http://www.feiniaomy.com/post/1.html

B页面的地址为:http://www.feiniaomy.com/post/2.html

如果在A页面中,点击B页面的链接。那么对于B页面来说,A页面的地址则为当前页面前一页的URL地址。

同理,我们在AJAX请求中,也可以使用 $_SERVER['HTTP_REFERER'] 获取来源页面的地址。

php获取ajax请求来源页面地址的示例

AJAX请求页的代码

将以下代码保存为html文件,并以“c.html”命名

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js" type="text/JAVAscript"></script>
 <title>Document</title>
</head>
<body>
 <script>
 $.ajax({
 type: "POST",
 url: "c.php",
 data: {},
 dataType: "json",
 success: function (response) {
 
 },
 error:function(){
 
 }
 });
 </script>
</body>
</html>

php后端被请求页的代码

以下代码保存为PHP文件,并命名为“c.php”,与html页面中 ajax 请求页面的名字相同

<?php
echo $_SERVER['HTTP_REFERER'];
?>

代码保存为 c.php

把两个文件,放到同一目录中,并在浏览器中打开,c.html

返回的结果如下图:

php获取ajax请求来源页面地址的方法

 

注意:

1、$_SERVER['HTTP_REFERER'] 不能保证在每个浏览器下都能获取到ajax来源地址的url

2、ajax 请求来源的地址很容易被伪造。不能做为后台程序安全验证的依据。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>