DrL*_*k10 4 php xmlhttprequest
我使用以下代码将数据发送到PHP站点:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp= new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","addEmail.php?email="+escape(email),true);
xmlhttp.send();
xmlhttp.close;
Run Code Online (Sandbox Code Playgroud)
有没有办法确保addEmail.php正在通过XMLHttpRequest运行,所以人们不能只是去www.domain.com/addEmail.php?email=some@thing.com让php网站吃他们的电子邮件和在页面上运行一千个请求?提前致谢
Swe*_*eam 18
用户总是能够直接访问php脚本,但是你可以通过将这个检查添加到php脚本来保护更多:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest')
{
//CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
另外,像Eugen Rieck提到的那样,你可以发送一个令牌.