请不要我完全明白这是一个愚蠢的屁股想法,但它不是我的想法。弹出密码保护
我们需要阻止访问我们网站上某个页面的人。它是用ASP编写的,我不知道ASP!任何人都可以告诉我,如何访问URL时人们必须输入用户名/密码才能弹出框加载。
用户名/密码应存储在JavaScript中。
(是的,我知道)
唯一的真正的要求是,发生这种情况随时加载页面时,它停留在该网页上。
所以页面TEST.ASP - JavaScript的弹出他们输入凭据,如果正确的留在TEST.ASP
感谢的确
请不要我完全明白这是一个愚蠢的屁股想法,但它不是我的想法。弹出密码保护
我们需要阻止访问我们网站上某个页面的人。它是用ASP编写的,我不知道ASP!任何人都可以告诉我,如何访问URL时人们必须输入用户名/密码才能弹出框加载。
用户名/密码应存储在JavaScript中。
(是的,我知道)
唯一的真正的要求是,发生这种情况随时加载页面时,它停留在该网页上。
所以页面TEST.ASP - JavaScript的弹出他们输入凭据,如果正确的留在TEST.ASP
感谢的确
当你说ASP时,我假设你的意思是.NET。如果是这样,那么我认为对页面中的VB/HTML进行一些小改动会更好。当然这只是一个例子,并不是一个非常安全的例子 - 但它仍然比普通的JS解决方案好一点。
实施例 - thenameofthepage.asp
<%
needAuthentication = True
If Request.Form.Count > 0 Then
If Request.Form("username") <> "jon" Or Request.Form("password") <> "secret" Then
' Redirect to another URI
Response.Redirect("/")
Response.End
End If
needAuthentication = False
End If
%>
<html>
<body>
<%
If needAuthentication Then
%>
<form method="post" action="thenameofthepage.asp">
<div>Username: <input type="text" name="username" /></div>
<div>Password: <input type="text" name="password" /></div>
<div><input type="submit" value="Submit" /></div>
</form>
<%
Else
%>
<p>Page content here</p>
<%
End If
%>
</body>
</html>
我真的很爱你 – Steve 2010-04-08 08:36:46
非常非常错误的,但这应该做到:
var passwords = new Object;
passwords['some user'] = 'some password';
function check_password(tries){
var username = prompt('Please enter your username');
var password = prompt('Please enter your password');
if(passwords[username] != password){
if(tries == 3){
window.location = 'http://www.google.com/';
}else{
check_password(tries + 1);
}
}
}
check_password(1);
要确保某人无法马上获得密码,可以使用一些散列算法。并且,如果您将display:none
放在所有重要元素上,则可以仅在“登录”时显示内容
数组只有数字索引,我想你想要一个对象。 – deceze 2010-04-08 00:12:08
@deceze:其实,都是工作;) 查看此链接的示例:http://www.mojavelinux.com/articles/javascript_hashes。 html – Wolph 2010-04-08 00:19:11
嗯,是的,因为一个数组也是一个对象(因为一切都是JS中的一个对象),所以你正在做的是将自定义属性附加到数组对象。所以你实际上并没有使用Array作为数组。如果你想要一个字典(哈希/地图),你应该使用对象。 – deceze 2010-04-08 00:29:47
当然这是一个愚蠢的想法。
但是您是否想过要添加一个额外的安全薄层?即不是弹出JavaScript模式(或除此之外),您可以重定向到密码+'.asp'吗?
例如,下一页叫做something.asp
。所以,你可以使密码something
,然后做一个
window.location = userInput + '.asp';
这是略更加混淆。
你在页面上有没有JS框架?如果是这样,你可以使这个很容易(非常非常错误,但容易和漂亮) – 2010-04-07 23:59:13
当你说“用户名/密码应存储在JavaScript中”时,请告诉我你的意思是“他们键入的密码”,而不是他们需要验证的密码。 – ig0774 2010-04-08 00:03:13
我希望你知道人们可以查看源代码并查看凭据,或者只需在浏览器上关闭JavaScript,然后他们就不必输入任何内容。你应该向有此想法的人展示这一点。 – 2010-04-08 00:04:15