Обеспечение безопасности страниц при помощи ASP
Этот тип контроля доступа легко реализуется с использованием ASP. Следующий код демонстрирует, как создать страницу входа пользователей для аутентификации зарегистрированных клиентов сайта, после которой они получат доступ к странице со специальными предложениями. Пользователь, не прошедший аутентификацию, будет перенаправлен на другую страницу.
Этот тип контроля доступа легко реализуется с использованием ASP. Следующий код демонстрирует, как создать страницу входа пользователей для аутентификации зарегистрированных клиентов сайта, после которой они получат доступ к странице со специальными предложениями. Пользователь, не прошедший аутентификацию, будет перенаправлен на другую страницу.
<HTML> <HEAD> <TITLE>Customer Log On</TITLE> </HEAD> <BODY>
<FORM METHOD="POST" ACTION="../scripts/logon.asp"> <TABLE WIDTH="100%"> <TR> <TD>User name:</TD> <TD><INPUT TYPE="text" NAME="Username" SIZE="30" MAXLENGTH="30"></TD>
</TR> <TR> <TD>Password:</TD> <TD><INPUT TYPE="password" NAME="Password" SIZE="16" MAXLENGTH="16"></TD> <TR> <TD COLSPAN="2" align="CENTER"><INPUT TYPE ="submit" VALUE="Log On"></TD> </TR> </TABLE> </FORM>
</BODY> </HTML>
Данные, введенные в форме, передаются странице logon.asp в папке scripts с помощью действия POST. Если содержимое, к которому осуществляется доступ, является особо секретным, например, содержит информацию о кредитных картах или учетных записях, данные входа и любое секретное содержимое должны передаваться через соединение SSL. Сценарий logon.asp сверяет имя пользователя и пароль с информацией, находящейся в базе данных зарегистрированных пользователей. В случае соответствия сценарий logon.asp устанавливает сеансовую переменную и направляет клиента на страницу со специальными предложениями.
Если соответствующей информации в базе данных не обнаруживается, это означает, что пользователь еще не зарегистрирован, и происходит его перенаправление на страницу регистрации.
If NoMatch = TRUE Then Session("Authorized") = FALSE strURL = "registrationpage.asp" Else Session("Authorized") = TRUE strURL = "specialoffers.asp" End If Server.Transfer strURL
Теперь у нас есть сеансовая переменная, которая используется для проверки того, успешно ли пользователь вошел на сайт. С помощью этой проверки в начале каждой страницы с контролируемым доступом обеспечивается доступность страниц только для зарегистрированных пользователей, вошедших в систему.
<%@ LANGUAGE="VBScript" %> <% Option Explicit %> <% If Session("Authorized") = FALSE Then Response.Redirect "accessdenied.asp" End If %>
Всякий пользователь, попытавшийся осуществить доступ к такой странице и не прошедший аутентификацию, будет перенаправлен на страницу accessdenied.asp. На этой странице можно разместить сообщение о том, что пользователь не зарегистрирован, и предложение пройти процедуру регистрации.
Важно. Всегда используйте метод POST для отправки секретной информации из формы. При использовании метода GET введенные в форме данные будут отображаться в адресе URL, который видит каждый пользователь.