Ajax - Php 调用方法安全


Ajax - Php Call method safe?

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

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

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

答案

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

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

虽然,也不要将敏感信息放在源代码中,因为任何有权在 PHP 中访问您的源代码的人都可以拥有该信息。一个令人毛骨悚然的网络托管公司理论上可以做到这一点,如果他们愿意。

提示

既然你刚刚开始,我想提一下你应该使用jQuery来做你的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。

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

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

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

PHP 在

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