我正在做一个密码管理器网络应用程序(如 LastPass 等),发生在我身上的一件事是,在使用 PHP 从数据库中检索密码并解密它们然后使用 JS 在 UI 中显示它们之后,如果有人查看源代码,则可以看到包含其密码的变量。即使我没有使用 JS 而是使用了 echo,它仍然会在源代码中。有谁知道一种可以防止密码出现在源代码中的方法,希望不会太复杂?
问问题
40 次
2 回答
0
您可以使用 JavaScript 向后端发送 HTTP 请求(使用 xhr 或 fetch),然后您可以操作 DOM 以显示密码。
于 2022-01-25T19:48:26.597 回答
0
如果您在谈论 HTML 源代码,这是正常的。但是有几种方法可以避免它:
- 如果您只是不想在用户收到它时将它包含在 HTML 中,那么您可以通过 javascript 中的 Ajax 请求来实现它,以使用文本更新 DOM。
- 如果您希望当用户
inspect
在页面上执行此操作时他看不到密码,您可以使用 aninput
并在 javascript 中设置它的值。然后您将输入设置为disabled
用户无法修改它。您甚至可以在需要时将类型更改为密码,以便******
在您想要隐藏它时显示。 - 另一种方法可能是在 javascript 中添加一个 css
:after
,然后将值放入其中。但它仍然会在我认为的某个地方可见。
于 2022-01-25T19:57:19.500 回答