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