请不要完全明白这是一个愚蠢的想法,但这不是我的想法。
我们需要阻止访问我们网站上某个页面的人。它是用ASP编写的,我不知道ASP!任何人都可以告诉我,当访问URL时我可以如何加载弹出框,人们必须输入用户名/密码。
用户名/密码应存储在javascript中。
(是的,我知道)
唯一真正的要求是,只要页面加载并且它停留在该页面上,就会发生这种情况。
所以页面是test.asp - 弹出javascript他们输入凭据,如果正确保留在test.asp
由于
答案 0 :(得分:1)
确实非常错误,但这应该做到:
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
放在所有重要元素上,您可以使它只在“登录”时显示内容
答案 1 :(得分:1)
可以使用Javascript创建模态对话框。有关here和link text的合理教程以及涵盖模态对话here的预先存在的库列表。
使用类似这样的内容进行身份验证违反了所有神圣的内容。请指出谁要求这样做是多么微不足道的是颠覆这个方案。
答案 2 :(得分:1)
当你说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>
答案 3 :(得分:0)
当然这是一个愚蠢的想法。
但是你有没有想过添加一个额外的薄层安全...即不是弹出JavaScript模式(或者除了),你可以重定向到密码+'。asp'吗?
示例,下一页称为something.asp
。因此,您可以输入密码something
,然后执行
window.location = userInput + '.asp';
稍微更混淆。