我的JavaScript文件包含以下代码:
$.post('./admin/test.php', {
todoID:todoID
}, function(data){
$("."+todoID).html(data);
});
我的PHP文件,我应该从中获得响应,包含:
if (!defined(__ACCESS)) {
die("Access Denied!");
}
echo '<span><input type="button" value="Edit" /></span>
<span><input type="button" value="View" /></span>
<span><input type="button" value="Delete" /></span>';
当然,我得到的回答是“拒绝访问!”。
因为__ACCESS
是在index.php中定义的,那是因为我不希望有人能够在没有验证的情况下运行任何PHP脚本(如果用户没问题,如果他试图单独调用脚本他先获得拒绝访问权。
那么有没有办法验证该电话?
答案 0 :(得分:1)
我很长时间没有触及PHP代码,但这种事情的一般机制是:
用户登录您的网络应用。服务器生成会话,并将会话ID作为cookie返回给客户端。
Ajax调用会保留所有Cookie,因此当您执行POST时,会话ID会再次发送。
如果请求具有有效(未过期)的会话ID,则认为该来源已经过身份验证。
看看另一个问题:how to implement php login or authentication session
答案 1 :(得分:0)
简单修复就是:
include 'index.php';
if (!defined(__ACCESS)) {
die("Access Denied!");
}
更好的解决方法是使用适当的身份验证框架。甚至是一般的框架。