通过PHP中的AJAX请求从哪个IP访问页面

Get from which IP a page was accessed via AJAX request in PHP

本文关键字:IP 访问 PHP 中的 AJAX 请求 通过      更新时间:2023-09-26

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

$.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地址。

你可以在PHP中使用ref标签,但这不会给你正确的方法让它工作

选项1:Database.

我要做的一种方式,而不是创建一个mysql字段与ip和最后加载在另一个ajax调用,将作为访问控制工作。例如,你添加到正常的页面,并加载它与javascript的setInterval()函数为例。

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

如果时间戳在上次加载后超过2分钟,那么您将阻止正常脚本的访问。这样,你还可以插入一个函数来阻止你知道是假的或对你的脚本不好的ip。

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

$_SESSION["access"]=" You SECRET key ";然后检查它是否在remote。php 中

我更喜欢数据库版本