有没有办法确保PHP只由JS加载?

时间:2010-12-27 06:17:37

标签: php javascript

有没有办法制作一个PHP文件,以便它只能由我编写的Javascript代码加载和执行?我可以确保有人无法读取我的JS,使用自己的变量在浏览器中加载PHP页面,并对我的数据库进行未经授权的更改吗? 任何帮助非常感谢。

4 个答案:

答案 0 :(得分:5)

没有

您可以检查是否设置了$_SERVER['HTTP_X_REQUESTED_WITH']并且等于“XMLHttpRequest”,但这只是一个可以伪造的HTTP标头。

Javascript只是制作标准的HTTP请求,可以通过多种方式进行复制。 HTTP是一种非常简单的协议,不能以任何可靠的方式区分客户端。相同的请求是相同的。您需要在HTTP之上自己构建用户标识和授权方案,它不是协议的一部分。服务器需要决定和执行授权的内容以及不基于规则(您建立的)的内容,而不是基于谁的要求。

答案 1 :(得分:0)

  

有没有办法制作一个PHP文件,以便它只能由我写的Javascript代码加载和执行?

不可靠,没有。任何请求都可以在客户端伪造。建立安全性不接受此方法。您将不得不在服务器端使用某种身份验证。

答案 2 :(得分:0)

没有。编写例如10行程序很简单。 Python,欺骗任何useragent。在任何情况下,您都不能相信任何用户发送给您的任何信息。

这样做会给你的整个家庭,你所有的祖先带来耻辱,并使你的后代永远被诬蔑为“那个人”的后代。

答案 3 :(得分:-2)

也许您可以查看Javascript发送的请求标头。 AJAX调用应发送此行:

X-Requested-With: XMLHttpRequest