gani7787 Ответов: 2

Подмены URL - адресов предотвращения несанкционированного страницы.


Привет,

Как предотвратить, когда пользователь меняет имя файла в URL-адресе.?

Например,

Пользователь пользователь должен иметь только доступ http://10.120.10.67/Login.aspx (по умолчанию).
Но он не должен получать доступ к другой странице, которая не является авторизованной страницей.

Как ограничить в aspx страницу.

Что я уже пробовал:

Пользователь пользователь должен иметь только доступ http://10.120.10.67/Login.aspx (по умолчанию).

2 Ответов

Рейтинг:
2

Sergey Alexandrovich Kryukov

Вся эта идея ошибочна. Безопасность не делается для того, чтобы помешать пользователю изменить какой-либо URL-адрес. Это не под вашим контролем; пользователь, по определению, может ввести любой мыслимый URL-адрес и отправить любой HTTP-запрос с этим URL — адресом, даже запрос, который не может быть отправлен на основе любой из ваших страниц-и вы всегда должны предполагать, что любой HTTP-запрос возможен без каких-либо ограничений.

Безопасность начинается, когда ваш код позади (в вашем случае, ASP.NET код) обрабатывает HTTP-запрос. Затем вы должны обнаружить, что пользователь не аутентифицирован, и сгенерировать соответствующий контент страницы, например перенаправление страницы на вашу страницу входа. Это лишь одна из основ аутентификации. Если пользователь аутентифицирован, содержание других страниц может зависеть от записи пользователя.

Вы можете начать здесь: Проверка подлинности ASP.NET .
Смотреть также: HttpRequest.Свойство Метод Isauthenticated (Системы.Веб).

—СА


gani7787

Спасибо за ваш ответ.

я использую меню sitemap path, и это будет включено в зависимости от ролей.

я уже упоминал о своей роли, которая определена в web.config ниже.


< location path= "Searchpage. aspx">
&ЛТ;система.веб&ГТ;
& lt;авторизация>
& lt;разрешить роли= "ADM">
& lt;запретить пользователям="*">



&ЛТ;путь="пользователь1.аспн"&ГТ;
&ЛТ;система.веб&ГТ;
& lt;авторизация>
& lt;разрешить роли= "ADM, USER1">
& lt;запретить пользователям="*">



< location path= "Home. aspx">
&ЛТ;система.веб&ГТ;
& lt;авторизация>
&ЛТ;позволяют ролей="АДМ,ПОЛЬЗОВАТЕЛЬ1,ПОЛЬЗОВАТЕЛЬ2"&ГТ;
& lt;запретить пользователям="*">




Роль " ADM " может иметь доступ ко всем страницам.

Роль "Пользователь1" может иметь доступ только пользователю "user1.aspx" и "домой.aspx-файл"

Роль "User2" может иметь доступ только к " Home. aspx"

как и выше, я хочу разрешить / запретить страницы на основе ролей.

Sergey Alexandrovich Kryukov

Тогда сделайте именно это. Примешь ли ты мой ответ формально? У вас есть еще вопросы?

Опять же, вы не разрешаете или запрещаете страницы; вы просто представляете разное содержимое страницы в ответ на разные запросы от разных пользователей. Лучше даже не показывать ничего вроде "доступ запрещен", даже если он запрещен, а показать что-то полезное или перенаправить.

—СА

Рейтинг:
0

gani7787

Dim роли как String () = Session(Accesstype)
Свойство HttpContext.Тока.User = New GenericPrincipal(HttpContext. Current.User.Идентичность, роли)
Если Нет (Мне.Страницы.Пользователей.IsInRole ("ADM")) Затем
Ответ.Перенаправление ("UnAuthorizedAccess. aspx")
Конец, Если