gpt4 book ai didi

php - AngularJS:从 Firebug 和用户 session 中隐藏 ajax 数据

转载 作者:可可西里 更新时间:2023-11-01 08:36:13 25 4
gpt4 key购买 nike

我正在使用 AngularJS 创建一个网站,该网站将允许用户在该网站上创建帐户并无缝登录,而无需重新加载页面。为了创建这样的站点,我使用 AngularJS 路由加载不同的部分,并使用 $http 通过 xhr 访问 php 脚本。如前所述,我使用 php 编写服务器端脚本,并使用 mysql 来存储我的数据。

我的问题是没有页面重新加载,通过 $http 服务提交给服务器的数据将显示在 firebug(或等效工具)的网络选项卡中。这意味着在页面关闭之前,可以通过这些工具暴露密码等隐私数据。现在我想找到一种方法来阻止用户在任何工具中查看这些数据。我可以加密数据客户端。问题是脚本仍然暴露在外。有没有其他人认为这是一个问题并找到了解决它的方法?

我需要考虑的另一件事是,以 Angular 存储用户 session 的最佳方式是什么?最好使用 php 的 session 并使用 $http 或使用 cookie 获取它的状态吗?同样,这两种方法都存在与安全相关的问题。对于 cookie,我需要加密内容并使用 session 变量通过 ajax 来回传递数据,所有内容都可以使用 firebug 访问。所以我再次想知道人们对此的看法。

最佳答案

对于密码可见性问题,您可以在客户端进行密码哈希处理。 javascript 代码是可见的,但这不会造成问题。散列函数是单向的,因此无法根据散列结果检索您的密码。 javascript 可以对 salt 进行硬编码,因为它不是 secret (https://stackoverflow.com/a/536756)。

您可以选择在服务器端实现第二个散列,然后再将其与数据库值进行比较。但这仅在您存在导致密码值读取的漏洞但不允许数据库更新的情况下提供保护。

对于其他数据,您可以考虑 diffie-hellman key 交换。

为确保客户端执行的 javascript 确实是您提供的脚本,您需要 https。它还可以保护您的 channel ,但不会影响您的浏览器或 Firebug (Is this correct? Should firebug see SSL-protected AJAX?)。

我正在使用 angularjs 和 php 实现类似的东西,但决定不使用客户端散列或 diffie-hellman key 交换。您要保护自己免受的情况很难实现。入侵者需要在您登录前后访问您的浏览器。

关于php - AngularJS:从 Firebug 和用户 session 中隐藏 ajax 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com