я наткнулся на упрощенном, но полезный способ защитить пароль страницы здесь: Pop up password protectASP защитить пароль улучшение
Вот код:
<%
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>
Два вопроса: 1) Как можно улучшить это означает, что при сбое пароля он вызывает окно предупреждения «Ошибка входа в систему» и сбрасывает форму? 2) Насколько это небезопасно? Существуют ли методы ASP для повышения безопасности?
Несколько примечаний: Данных нет - это только страница, защищенная одним глобальным паролем. И, если вы уже не могли сказать, мои навыки ASP отсутствуют. Заранее спасибо.
UPDATE: (Оповещение работает с неудачной попыткой регистрации, но загрузки страниц контента в любом случае)
<%
needAuthentication = True
authenticationFailed = False
If Request.Form.Count > 0 Then
If Request.Form("password") <> "secret" Then
authenticationFailed = True
End If
needAuthentication = False
End If
%>
<html>
<body>
<%
If needAuthentication Then
%>
<form method="post" action="passwordtest.asp">
<div>Password: <input type="text" name="password" /></div>
<div><input type="submit" value="Submit" /></div>
</form>
<%
Else
%>
<p>Page content here</p>
<%
End If
%>
<%
If authenticationFailed Then
%>
<script type="text/javascript">
alert("Invalid login");
</script>
<%
End If
%>
</body>
</html>
Что значит, если пароль не удался? Вы имеете в виду, если идентификатор входа пользователя «jon», но пароль не «секретный»? –
Исправить. Введен неверный пароль. Я даже не думал о пользователе - я действительно пытаюсь использовать это без «имени пользователя». –