Обеспечение безопасности веб-сайта включает в себя следующие аспекты:
Аутентификация личности : процесс подтверждения личности и подлинности пользователя. В ASP.NET предусмотрены четыре типа аутентификации:
Сертификация Windows
аутентификация по форме
Аутентификация
Пользовательская аутентификация
Авторизация : процесс определения и назначения определенных ролей конкретным пользователям.
Конфиденциальность : включает шифрование для клиентских браузеров и веб-серверов.
Целостность : поддержание целостности данных. Например, внедрить цифровые подписи.
Вообще говоря, аутентификация на основе форм предполагает редактирование файла конфигурации сети и страницы регистрации с кодом подтверждения. Файл конфигурации сети можно записать с помощью следующего кода:
<configuration><system.web> <authentication mode="Forms"> <forms loginUrl ="login.aspx"/> </authentication> <authorization> <denyusers="?"/> </authorization></system .web>......</конфигурация>
Страница login.aspx, упомянутая в приведенном выше фрагменте кода, может содержать следующий код, включая имя пользователя и пароль для аутентификации, которые сложно закодировать в файле.
protected bool аутентификация (String uname, String pass) { if(uname == "Tom") { if(pass == "tom123") return true } if(uname == "Dick") { if(pass == " dick123") return true; } if(uname == "Harry") { if(pass == "har123") return true; } return false;}public void OnLogin(Object src, EventArgs e) { if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked); } else { Response.Write("Неверное имя пользователя или пароль" }});
Обратите внимание, что класс FormsAuthentication используется для процесса аутентификации.
Однако Visual Studio позволяет легко реализовать создание, аутентификацию и авторизацию пользователей с помощью инструмента управления веб-сайтом без написания какого-либо кода. Этот инструмент позволяет создавать пользователей и роли.
Кроме того, в ASP.NET имеется готовая серия средств контроля входа в систему, которая может контролировать и выполнять всю работу за вас.
Чтобы настроить аутентификацию на основе форм, вам необходимо сделать следующее:
База данных пользователей для поддержки процесса аутентификации
Веб-сайт, использующий базу данных
учетная запись пользователя
Роль
Ограничения на действия пользователей и групповые действия
Страница пользователя, на которой отображается статус пользователя и другая информация.
Интерфейс входа в систему, который позволяет пользователям входить в систему, получать и менять пароли.
Для создания пользователя необходимо выполнить следующие шаги:
Шаг 1. Выберите «Веб-сайт» -> «Настроить ASP.NET», чтобы открыть инструмент управления веб-приложениями.
Шаг 2: Нажмите «Параметры безопасности».
Шаг 3. Выберите параметр «Аутентификация на основе форм», чтобы установить тип аутентификации «Из Интернета».
Шаг 4: Нажмите «Создать пользователей». Если вы уже создали роль, на этом этапе вы можете назначить ее пользователю.
Шаг 5. Создайте веб-сайт и добавьте следующие страницы:
страница приветствия
Страница входа
Страница регистрации
Страница восстановления пароля
Страница смены пароля
Шаг 6. Установите контроль статуса входа в раздел входа на странице приветствия. Содержит два стандартных поля: LoggedIn и LoggedOut.
LoggedIn имеет возможность просматривать вошедших в систему пользователей, а LoggedOut имеет возможность просматривать вышедших из системы пользователей. Вы можете изменить свойства текста входа и выхода из системы в окне свойств.
Шаг 7. Настройте элемент управления LoginView под элементом управления LoginStatus. Вы можете установить другой текст или другие элементы управления (например, гиперссылки, кнопки и т. д.), которые отражают, вошел ли пользователь в систему.
Этот элемент управления имеет два стандартных поля: поле «Анонимный» и поле «Вход в систему». Выберите каждое представление и напишите текст, который будет отображаться пользователю при выборе поля критериев. Текст должен быть помещен в область, отмеченную красным на изображении ниже.
Шаг 8: Разработчик создает пользователей приложения. Возможно, вы захотите разрешить посетителям также создавать учетные записи пользователей. Для этого вы можете добавить ссылку под элементом управления LoginView, которая приведет вас на страницу регистрации.
Шаг 9. Настройте элемент управления CreateUserWizard на странице регистрации. Задайте свойство ContinueDestinationPageUrl этого элемента управления, чтобы обеспечить возможность перехода на страницу приветствия.
Шаг 10: Создайте страницу входа. Настройте элемент управления входом на этой странице. Элемент управления LoginStatus автоматически подключается к странице входа. Вы можете изменить этот параметр по умолчанию, внеся следующие изменения в файл конфигурации сети.
Например, если вы назвали свою страницу входа в систему Signup.aspx, вы можете добавить следующие строки кода в файл конфигурации сети.
<configuration> <system.web> <authentication mode="Forms"> <forms loginUrl ="signup.aspx" defaultUrl = «Welcome.aspx» /> </authentication> </system.web></configuration>
Шаг 11. Пользователи часто забывают свои пароли. Элемент управления PasswordRecovery помогает пользователям восстановить вход в эту учетную запись. Выберите элемент управления входом. Откройте небольшую вкладку и выберите «Преобразовать в шаблон».
Настраивая пользовательский интерфейс этого элемента управления, поместите элемент управления гиперссылкой под кнопкой входа в систему. Этот элемент управления должен иметь возможность ссылаться на страницу восстановления пароля.
Шаг 12. Установите элемент управления PasswordRecovery на странице восстановления пароля. Этот элемент управления требует, чтобы почтовый сервер отправил пароль пользователю.
Шаг 13. Установите ссылку на страницу смены пароля в поле LoggedIn элемента управления LoginView на странице приветствия.
Шаг 14. Установите элемент управления ChangePassword на странице изменения пароля. Этот элемент управления имеет два представления:
Теперь запустите приложение и наблюдайте за различными операциями безопасности. Вы можете вернуться к инструменту управления веб-приложениями и нажать на параметр безопасности, чтобы создать роль. Нажмите «Создать роли», чтобы создать несколько ролей для этого приложения.
Нажмите «Управление пользователями», чтобы назначить роли пользователям.
Secure Sockets Layer (SSL) — это протокол, используемый для обеспечения безопасных соединений. Используя SSL, браузер шифрует все данные, отправляемые на сервер, и расшифровывает все данные с сервера. В то же время сервер также будет шифровать и расшифровывать все данные в браузере Liangzi.
URL-адрес для безопасного соединения использует протокол HTTPS вместо протокола HTTP. Небольшой замок также будет отображаться браузерами, использующими защищенные соединения. Когда браузер активно взаимодействует с сервером с помощью SSL, сервер отправляет сертификат безопасности для аутентификации самого сервера.
Чтобы использовать SSL, вам необходимо приобрести цифровой сертификат безопасности в доверенном центре сертификации (CA) и установить его на сетевом сервере. Ниже приведены некоторые заслуживающие доверия сертификационные организации с хорошей репутацией:
www.verisign.com
www.geotrust.com
www.thawte.com
SSL встроен во все основные браузеры и серверы. Чтобы включить SSL, вам необходимо установить цифровой сертификат. Надежность различных цифровых сертификатов варьируется в зависимости от длины ключа, сгенерированного в процессе шифрования. Чем длиннее ключ, тем безопаснее сертификат и безопаснее соединение.
сила | описывать |
---|---|
40 бит | Поддерживает большинство браузеров, но его легко взломать. |
56 бит | Более надежный, чем 40-битный. |
128 бит | Его сложно взломать, но не все браузеры его поддерживают. |