Javascript登录问题

时间:2014-08-01 20:33:16

标签: javascript input login getelementbyid window.location

我正在尝试创建一个登录页面并遇到一些问题。首先,当JS使用正确的密码警告错误的密码时,它不会重定向到安全页面。其次,我觉得在javascript中使用密码对于知道如何查看我网站源代码的人来说并不是很安全,所以隐藏这个密码的更好方法是什么(对所有用户来说都是一样的)试图访问该页面?)

HTML:

<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>

JavaScript的:

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!");
}
}

JSFiddle:http://jsfiddle.net/cc7EV/

1 个答案:

答案 0 :(得分:0)

您应该 从不 将身份验证数据保存在Javascript文件中。

验证用户身份的最佳方法是在后端使用数据库。密码 永远不会 以纯文本格式保存,因为如果黑客可以访问您的计算机,他可以轻松阅读。这就是哈希算法存在的原因。 (最强的一个是bcrypt&amp; scrypt。大多数其他散列算法,如消息摘要算法,都有安全漏洞,可能会被破坏)。 现在的诀窍是,您使用随机盐修改密码,因此您无法读取存储在数据库中的真实密码。

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

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

相关问题