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

时间:2014-02-11 11:03:47

标签: javascript php ajax .htaccess xmlhttprequest

如何使XMLHttpRequest(ajax)调用的php脚本安全。

我的意思是,不要让PHP文件通过直接url运行,只能通过脚本从我的页面调用(我不想向未记录的用户显示数据库结果,并且调用的php脚本文件包含数据库登录和功能)。

我研究并发现无法使用:

  • 如果我通过.htaccess锁定文件夹或使用Mod重写(根本不能正常工作且不建议使用)

  • 标头重定向不起作用(我完全不知道将调用脚本的URL或域) if(@isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']=="http://xxxxxxx.com/index.php?")

  • lastone not working是包含在php脚本中($ _SERVER ['HTTP_X_REQUESTED_WITH'])返回NULL:if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { header('HTTP/1.1 403 Forbidden'); exit; };

1 个答案:

答案 0 :(得分:2)

使用随机令牌怎么样?例如,请参阅best practice to generate random token for forgot password。你会想要阅读很多关于SO的文章,使用令牌时需要考虑很多。 (特别是看他们的安全。)