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提供的信息。这是一些很好的建议。