首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取在PHP中通过AJAX请求访问页面的IP地址

问获取在PHP中通过AJAX请求访问页面的IP地址
EN

Stack Overflow用户
提问于 2015-10-04 23:54:25
回答 1查看 1.3K关注 0票数 2

我有一个简单的AJAX GET请求到某个PHP页面:

代码语言:javascript
复制
$.ajax({
    type: "GET",
    url: "http://example.com/remote.php",
    success: function(response){
        document.getElementById("test").innerHTML = response;
    }        
});

remote.php页面回显$_SERVE['REMOTE_ADDR']变量。AJAX请求的响应是客户端本身的IP地址(用户从中导航)。

包含AJAX请求的JS文件位于同一服务器上,例如http://example.com/js/ajaxstuff.js。

我的目标是获取PHP页面是从哪个网站访问的,以防止用户简单地在PHP页面上收集信息。基本上,当从AJAX访问页面时,我试图获得http://example.com或所述服务器的IP的结果,或者,如果直接从浏览器访问PHP页面,则获取用户的IP地址。

EN

回答 1

Stack Overflow用户

发布于 2015-10-05 00:03:41

您可以在PHP中使用ref标记,但这不会给您提供正确的工作方式。

选项1:数据库。

我想采用的一种方法是创建一个带有ip的mysql字段,最后加载到另一个ajax调用中,该调用将用作访问控制。例如,您可以将其添加到普通页面中,并使用javascript加载它,例如使用javascript中的setInterval()函数。

当ajax被调用时,ip将被添加到表中,并设置一个unix时间戳。

如果自上次加载以来时间戳超过2分钟,则阻止正常脚本进行访问。通过这种方式,您还可以插入一个函数来阻止您知道是假的或对您的脚本不好的ips。

选项2:在php加载主页面设置Session。

您可以创建一个会话,您可以设置一个魔法密钥,例如$_SESSION"access"="YOU SECRET KEY";然后检查这个会话是否在remote.php中

我更喜欢数据库版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32935377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档