使用HTML code Snippet的问题

时间:2017-05-07 13:01:53

标签: html

我是HTML的新手,我想知道这段HTML代码的问题是什么,我应该如何进行重构以使其安全。在此先感谢。

{{1}}

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;博士

  • 添加密码哈希这是一种单向加密方式的人 如果他们监控您的连接,则无法看到密码。
  • 添加验证码,以便人们无法制作机器人。
相关问题