安全的ajax脚本(javascript请求的PHP脚本)

Secure ajax script (javascript requested PHP script)

如何使XMLHttpRequest(Ajax)调用的PHP脚本安全。

我的意思是,不要让php文件通过直接的url运行,只需要从我的页面通过脚本调用(我不想向没有日志记录的用户显示数据库结果,而被调用的php脚本文件包含了数据库登录和函数)。

我研究发现无法使用:

  • 如果我用.htaccess锁定文件文件夹或使用mod rewrite(根本无法正常工作,建议不要这样做)

  • 头重定向不起作用(确切地说,我不知道从哪个URL或域调用脚本)if(@isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']=="http://xxxxxxx.com/index.php?")

  • 最后一个不起作用的是在php脚本中包含($_server['http_x_requested_with'])返回空值:if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    header('HTTP/1.1 403 Forbidden');
    exit;
    };


使用随机令牌怎么样?例如,请参阅为忘记密码生成随机令牌的最佳实践。你会想读很多关于so-tho的文章,在使用令牌时有很多需要考虑的地方。(尤其是看他们的安全。)