0

我似乎找不到一个几乎确切的问题,所以我不妨问一下。

将变量从 Javascript 发送到 PHP 真的是一种标准做法吗?我计划在 Javascript 中进行一些评估后将数组发送到 PHP - 在这里和那里传递变量......只是再次组合为一个数组,正如我所说的,将被传递给 PHP。我错过了什么吗?我几乎看不到任何教程可以做到这一点,主要是相反的方式 - 即 PHP 数组到 Javascript。让我想,也许出于安全原因,不建议对 PHP 执行 Javascript。

简而言之,将 Javascript 数组发送到 PHP,然后将其保存到数据库会很危险吗?我还没有真正完全阅读如何去做,只是扫描了我能找到的极少数......json stringify,$_POST,json encode,json decode。如果可以将 JS 传递给 PHP,并且无论如何都与我的问题有关,那么有人可以指出我提到的哪一个最能提高安全性吗?谢谢!

4

1 回答 1

7

在这一点上,安全性并不是真正的问题:JavaScript 在客户端运行,因此这里可能出现的任何问题都可能被攻击者轻易伪造。正如@Jan 在上面的评论中所说,无论如何你都不能信任客户。此外,您在 JavaScript 端所做的一切都可能被客户端窃听和操纵——这就是为什么您不能在 JavaScript 中进行密码检查的原因。因此,无论如何,JavaScript 运行的环境从根本上说是不安全的。

当服务器接受并使用数据时,安全性就会发挥作用。您需要采取所有必要的保护措施,以便数据不会损害您的服务器 - 例如,通过使用转义或准备好的语句删除任何 SQL 注入,正确处理无效的输入字符等。

我想到了这个规则的两个例外:

  • 如果您使用的是 SSL (https://) 连接,请确保您的 JavaScript 也以这种方式发送数据

  • 使用敏感的 GET 参数将浏览器发送到新位置:

    http://www.domain.com/newpage?username=pekka&password=superman85069

    不如 POST 表单安全,因为 URL 可能被缓存。

于 2012-10-20T17:05:02.917 回答