我是HTML的新手,我想知道这段HTML代码的问题是什么,我应该如何进行重构以使其安全。在此先感谢。
{{1}}
答案 0 :(得分:0)
我注意到你错过了提交按钮所以我继续添加,假设这是一个登录表单。就个人而言,我建议你hash密码客户端(这意味着你需要在寄存器上哈希),这样在MITM攻击的情况下,攻击者不会抓住客户端的原始密码(允许他们访问客户端使用的其他服务)。这是一个例子:
<form method="post" action="Login_Account.php">
<input type="text" name="username"><br>
<input type="password" name="password"><br>
<input value="Login" type="submit" id="loginSubmit">
</form>
<!--Calls the SHA3 Hashing library-->
<script src="https://rawgit.com/emn178/js-sha3/master/build/sha3.min.js"></script>
<!--Javascript to Hash the password-->
<script>
function hashPass(e){
e.preventDefault(); //Stop from submit
pass = document.getElementsByName("password")[0] //Find form element
pass.value = sha3_512(pass.value); //Hash password in SHA3
e.target.parentElement.submit(); //Resubmits form
}
document.getElementById("loginSubmit").onclick = hashPass //Makes it so when someone clicks the login button it starts the hashing process
</script>
p.s this is going to get an error since this website doesn't have Login_Account.php.
请记住,您需要在PHP代码内部的注册过程 AND 中哈希密码。因此,如果您的数据库被泄露,您的客户端密码将受到适当保护。如果是CSRF,我建议使用captcha。我推荐谷歌的ReCaptcha,它可以很好地完成工作。在互联网上有很多关于设置ReCaptcha的教程。安全性是与客户建立信任的最佳方法。
<强> TL;博士强>