Javascript用户ID代码

Javascript用户ID代码,javascript,Javascript,代码如下: <script language="javascript"> <!--// function pasuser(form) { if (form.user.value=="JavaScript") { if (form.pass.value=="Kit") { location="page2.html" } else {

代码如下:

<script language="javascript">
<!--//
    function pasuser(form) {
        if (form.user.value=="JavaScript") { 
            if (form.pass.value=="Kit") {              
                location="page2.html" 
            } else {
                alert("Invalid Password")
            }
        } else {  
            alert("Invalid UserID")
       }
    }
//-->
</script>

我一直试图只使用用户ID,而不是密码,但是当我删除表单时,pass没有任何作用。我是不是在表格部分做错了什么

<input type="text" name="user" id="query" size="5" value=""> 
<input type="button" value="Search" onClick="pasuser(this.form)">

看起来它会非常干燥。如果我只想输入用户ID,只需删除form.pass,但这不起作用。我以前在用户ID和密码中使用过这个脚本,效果很好


提前谢谢。

听起来你只是想取消密码检查。如果是,您可以这样做:

<script language="javascript">
    function pasuser(form) {
        if (form.user.value=="JavaScript") { 
            location="page2.html"; 
        } else {  
            alert("Invalid UserID");
       }
    }
</script>

函数pasuser(表格){
如果(form.user.value==“JavaScript”){
location=“page2.html”;
}否则{
警报(“无效用户标识”);
}
}

我建议在您的语句末尾也加上分号。

如果我错了,请纠正我,但可能是在删除pass输入字段时,您没有在用户ID输入字段中添加
onclick=“pasuser(this.form)”
位吗?在这里设置JSFIDLE会有所帮助

无论如何,据我所知,将
pasuser
函数更改为jfriend00的解决方案,并将
onclick
位添加到userid字段中,以使其正常工作我怀疑“它不工作”意味着
location=page2.html
无法更改URL。您应该使用
window.location=page2.html
。您也可能正在使用
-请尝试使用按钮。我测试的代码对我来说效果很好,但首先,您还有一些其他问题需要处理

问题1:客户端安全 你的第一个问题是你有客户端的安全性。您的代码是JavaScript,这意味着它在浏览器中执行(除非您在另一种情况下使用JavaScript解释器)。这意味着源代码将交付给最终用户,用户可以使用浏览器内置的“查看源代码”显示用户名和密码。顺便说一句,禁用视图源代码之类的技巧不起作用-浏览器可以禁用JavaScript(从而禁用该技巧)、使用wget、使用代理服务器(如webscarab)或浏览器附加组件。用户始终可以访问页面的源

问题2:未受保护的“安全”页面2.html 认证后进入的第二个页面可能不受保护-毕竟,您所做的只是请求suername&密码,然后重定向到“安全”页面。是什么阻止用户直接浏览“安全”页面

问题3:硬编码凭证 您有一个硬编码的凭证列表。这意味着使用您的软件的任何人都将拥有相同的凭据-不同的用户将能够登录到彼此的安装,即使他们没有授权这样做。这通常被认为是实际产品中的一个关键风险

建议 很好,您正在考虑安全性,并尝试实现身份验证方案。如果这是你感兴趣的东西,有很多研究-从维基百科开始。您还应该查看owasp.org,以获取有关安全性如何恶化的大量信息,并且您应该使用owasp的web goat工具-它将为您提供学习各种恶化因素的实际操作经验

代码

<HTML> <head></head> <body> <script language="javascript"> <!--// function pasuser(form) { if (form.user.value=="JavaScript") { if (form.pass.value=="Kit") { alert("success"); window.location = "http://www.google.com/"; } else { alert("Invalid Password") } } else { alert("Invalid UserID") } } //--> </script> <form name=f> <input name=user value="JavaScript"> <input name=pass value="Kit"> <input type=button onclick='pasuser(document.forms.f)'> </body>
你想干什么?“什么都不管用”毫无意义。Java不是JavaScript。多少次…我希望这永远不会成为生产代码。您意识到,如果您试图锁定一个带有用户名和pw的表单,并且您的值在脚本中,任何人都可以查看源代码并查看您的验证依据,对吗?@JamWaffles直觉上认为javascript与java类似,没有人真的应该受到责备。无论是谁选择了这个名字都是罪魁祸首…Mario,我只是想使用用户ID输入,而不是用户ID输入和密码输入。谢谢jfriend00。这就是我要找的。谢谢atk提供的信息。这是一些很好的建议。