弹出密码保护

时间:2010-04-07 23:56:43

标签: javascript

请不要完全明白这是一个愚蠢的想法,但这不是我的想法。

我们需要阻止访问我们网站上某个页面的人。它是用ASP编写的,我不知道ASP!任何人都可以告诉我,当访问URL时我可以如何加载弹出框,人们必须输入用户名/密码。

用户名/密码应存储在javascript中。

(是的,我知道)

唯一真正的要求是,只要页面加载并且它停留在该页面上,就会发生这种情况。

所以页面是test.asp - 弹出javascript他们输入凭据,如果正确保留在test.asp

由于

4 个答案:

答案 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创建模态对话框。有关herelink 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';

稍微更混淆。