有没有办法在js中将sha512添加到这个php网页中,以使网站更安全?

Is there any way to add sha512 to this php webpage in js for making the site more secure?

提问人:Canada 提问时间:5/22/2023 最后编辑:Canada 更新时间:5/22/2023 访问量:34

问:

我正在尝试将 sha512 添加到页面以使网页更安全,以使人们更难暴力破解哈希以访问 url pram 中的机密

这是 JS:


                  
     
      (function() {
        const GetPass = function() {
          var usrpass = document.getElementById("userPassword").value;
          const args = window.location.search;
          const urlprams = new URLSearchParams(args);
          var password = urlprams.get('password')
          var hash = sha256(usrpass)
          if (hash==password) {
            var info = urlprams.get('secret')
            var urle = atob(info)
            var sec = decodeURI(urle)
            const htm = sec.split("\n")
            htm.forEach(function (item, index) {
              htm[index] = item + "<br/>"
            });
            var html = htm.join('')
            document.body.innerHTML = (html);
            document.title = 'reload to exit'
            document.cookie = ''
          } else {
            alert('Incorrect Password!')
          }
        };
        window.GetPass = GetPass;
      })();

    

我尝试使用加密 sha512 库,但它在我尝试的函数中出错

JavaScript HTML 安全 哈希 SHA512

评论

1赞 RAllen 5/22/2023
to this php page in js,那么网站是在PHP上,还是在JS上?或者它可能是一个包含 JS 代码的 PHP 网页?
0赞 Canada 5/22/2023
在PHP代码中@RAllen js

答:

0赞 RAllen 5/22/2023 #1

如果此 JS 代码在用户的浏览器中保持原样,则非常容易在这里破解和逆向工程您的逻辑,并使用以相同方式散列的密码暴力破解您的服务器。

如果你想保护你的 JS 代码,你需要用一些混淆器/最小化器来混淆它。这可以使黑客攻击变得更加困难,但不会太多。要使您的代码真正不可破解,将花费大量的时间和精力,并且仍然不能保证任何事情。

只需将密码以纯文本形式从前端发送到后端,就像大多数主要网站(例如Google)一样。

为什么?不加密?

因为如果用户只是一个用户,他们无论如何都不会尝试破解您的密码加密,但是如果有人熟练地想要破解您的密码逻辑,他们无论如何都会在很短的时间内设法做到这一点。

因此,只要确保您的网站使用HTTPS来保护您在传输中的登录名/密码并防止“中间人”攻击,您就应该很好。