如何在html中输入用户名和密码时创建登录页面
问题描述:
如果密码正确,如何创建一个登录页面进入下一个屏幕?如何在html中输入用户名和密码时创建登录页面
<html>
<p> Enter Username and Password </p>
<FORM action="file:///android_asset/www/Browse.html" method="post">
<P>
<LABEL for="firstname">Username </LABEL>
<INPUT type="text" id="Username"><BR>
<LABEL for="lastname">Password </LABEL>
<INPUT type="text" id="Password"><BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</P>
</FORM>
</html>
答
<html>
<head>
<title>Login page</title>
</head>
<body>
<h1>Simple Login Page</h1>
<form name="login">
Username<input type="text" name="userid"/>
Password<input type="password" name="pswrd"/>
<input type="button" onclick="check(this.form)" value="Login"/>
<input type="reset" value="Cancel"/>
</form>
<script language="javascript">
function check(form) { /*function to check userid & password*/
/*the following code checkes whether the entered userid and password are matching*/
if(form.userid.value == "myuserid" && form.pswrd.value == "mypswrd") {
window.open('target.html')/*opens the target page while Id & password matches*/
}
else {
alert("Error Password or Username")/*displays error message*/
}
}
</script>
</body>
</html>
答
在客户端做密码检查是不安全的,特别是当密码被硬编码。
最安全的方式是在服务器端进行密码检查,但即使如此密码也不应该以纯文本格式传输。
检查密码客户端可以在一个“安全的方式”:
- 的密码需要散列
- 哈希密码被用作一个新的URL的一部分
说“abc”是你的密码,所以你的md5会是“900150983cd24fb0d6963f7d28e17f72”(考虑salting!)。现在建立一个包含哈希的url(如http://yourdomain.com/90015...f72.html)。
html在行动? – irrelephant 2012-08-13 08:03:52
您对HTML有误解。 HTML是超文本标记语言,适用于网页结构定义,而不适用于任何您想要的逻辑。你在问之前做过什么研究? – Vladimir 2012-08-13 08:09:08
只是为了更清楚一点,因为新手可能会看到这个老问题,并没有意识到有什么关系:如果你用简单的HTML来检查密码,那么任何能够阅读HTML的人都会知道密码,因为它会被硬编码页面(HTML或Javascript可以通过任何浏览器即时检查)。您*必须*使用HTML以外的其他内容(例如PHP),只有您的服务器才有权访问,而不是接收HTML页面的用户。出于这个原因,这个答案:https://*.com/a/11930310/4621141是没用的。任何人都可以阅读''mypaswrd'' – flen 2017-06-11 07:06:11