我使用我的PHP后端通过检查值来检测AJAX请求$_SERVER['HTTP_X_REQUESTED_WITH'].
这为我提供了可靠的检测,确保使用AJAX技术进行请求.
如何确保请求来自我自己的域,而不是外部域/机器人?
www.example.com/ajax?true可以允许任何人拨打AJAX电话并剪切信息.
我可以为正常进入我网站的每个人制作会话,然后允许AJAX调用..但这也可以伪造.
这些天有甚么重要吗?
是否有可能强制PHP只响应ajax请求?通过设置标题等,我们有这样的代码:
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET", "gethint.php?q=" + str, true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)
我们想要发一个ajax请求.现在,当我们在浏览器中键入"SITENAME.COM/gethint.php?q="时,它会显示一些内容.如何防止此事件?谢谢.