請不要我完全明白這是一個愚蠢的屁股想法,但它不是我的想法。彈出密碼保護
我們需要阻止訪問我們網站上某個頁面的人。它是用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