Ajax - Php Call方法安全吗?

时间:2012-04-17 16:56:01

标签: php ajax

我希望第一次启动ajax。我将使用它来对表单中的字段进行服务器端验证。基本上,ajax提供用户提供的输入,并且一些php代码执行if else规则并相应地发回响应。在我的PHP代码中,一些字符串将包含敏感数据,用户是否能够读取或查看这些字符串?

感谢所有有用的答案,现在非常清楚:)。

4 个答案:

答案 0 :(得分:2)

Ajax使用HTTP就像整页刷新一样。如果您要发送和/或接收敏感数据,则需要确保使用SSL进行Ajax调用,就像提交安全表单一样。

答案 1 :(得分:1)

Ajax使用HTTP,AJAX请求的响应仅包含PHP脚本生成的数据。如果您没有回显包含敏感数据的字符串,那么响应就无法包含它们。

如果您想传输敏感数据,则必须使用HTTPS。

答案 2 :(得分:1)

如果敏感数据在服务器端的php中,那应该没问题。 只是不要回复ajax任何敏感信息。

PHP在服务器端处理,从ajax到php的任何请求都执行服务器上的php脚本并返回处理结果。客户端无法看到php代码。

答案 3 :(得分:1)

答案

  

在我的PHP代码中,一些字符串将包含敏感数据

是的,如果用户尝试,用户可以看到服务器响应的内容。但是,如果敏感数据是PHP代码中的,并且从不是响应的一部分,那么它们将无法看到它。

尽管从未将敏感信息放入源代码,因为任何有权访问PHP源代码的人都可以拥有该信息。如果他们想要,一个令人毛骨悚然的网络托管公司理论上可以这样做。

提示

由于你刚开始我想提到你use jQuery to do your Ajax的东西。

尝试解释Ajax

进行Ajax调用时,在页面加载后使用HTTP协议发送请求。 JavaScript发出请求,接收响应并对浏览器中加载的HTML DOM进行更改,而不进行刷新。

Requests: Ajax function --(HTTP(S))--> SERVER --(HTTP(S))--> Ajax function

Action: Ajax function --> interpret response and manipulate DOM accordingly

换句话说,它就像浏览器在协议方面提出的请求,只是它是一个Ajax函数。因此,无论应用于浏览器的这些请求,也适用于此。

通常,响应是一个JSON字符串,因为Ajax函数很容易将其解释为JavaScript。