Javascript登录问题

Javascript登录问题,javascript,input,login,getelementbyid,window.location,Javascript,Input,Login,Getelementbyid,Window.location,我试图创建一个登录页面,但遇到了一些问题。首先,当JS在错误密码上发出警报时,如果密码正确,它不会重定向到安全页面。第二,我觉得javascript中的密码对于任何知道如何查看我网站源代码的人来说都不是很安全,那么有什么更好的方法来隐藏这个密码(对于所有试图访问页面的用户来说都是一样的) HTML: jsiddle:您应该永远不要将身份验证数据保存在Javascript文件中 对用户进行身份验证的最佳方法是在后端使用数据库。密码应该永远不要以明文形式保存,因为如果黑客可以访问您的计算机,他可以很

我试图创建一个登录页面,但遇到了一些问题。首先,当JS在错误密码上发出警报时,如果密码正确,它不会重定向到安全页面。第二,我觉得javascript中的密码对于任何知道如何查看我网站源代码的人来说都不是很安全,那么有什么更好的方法来隐藏这个密码(对于所有试图访问页面的用户来说都是一样的)

HTML:

jsiddle:

您应该永远不要将身份验证数据保存在Javascript文件中

对用户进行身份验证的最佳方法是在后端使用数据库。密码应该永远不要以明文形式保存,因为如果黑客可以访问您的计算机,他可以很容易地读取它。这就是散列算法存在的原因。(最强的是&。大多数其他哈希算法,如消息摘要算法,有安全缺陷,可以被破坏)。 这里的诀窍是,使用随机密码修改密码,因此无法读取存储在数据库中的真实密码

如果您认为这可能是太多的工作,请看一下基本的访问身份验证。(对不起,我不能发布其他链接。我没有太多声誉。)


但是您不应该忘记使用与服务器的安全连接。(参见中间人攻击)

是的,因此将通行证存储在javascript中是一个很大的禁忌,将信息发送到服务器并在服务器上进行验证您的
loggedin
变量是毫无意义的。一旦您确实设法重定向到新页面,此页面及其所有“状态”(包括
loggedin
变量)将不再存在。如果不进行服务器端处理,JavaScript不利于身份验证,您将存储密码从公众的角度来看,web开发的第一条规则是:JavaScript永远都不安全。一切都在客户端。好的,那么处理服务器端的最佳方法是什么?
<div id="container">
<div class="login">
<div class="login_side">
    <div class="login_inside">
    <h2>LOGIN</h2>
    <p>&nbsp;</p>
    <p><a href="../index.html">Go Back</a></p>
    <p><a target="_blank" href="Contact.html">Contact Us</a></p>
    </div>
</div>
<form>
    <label>Password</label>
    <input type="Password" name="password" id="password" />
    <input type="submit" value="Submit" name="submit" class="submit" onclick="LogIn()" />
</form>
</div>
</div>
function LogIn(){
loggedin=false;
var pass="";
pass = document.getElementById("password").value;
pass=pass.toLowerCase();
if (pass=="login") { 
    loggedin=true;
    window.location.assign("TrainingSecured.html")
}
if (loggedin==false) {
    alert("Invalid login!");
}
}