Проблема безопасности на веб-странице asp.net - PullRequest
0 голосов
/ 31 августа 2011

Я использую кнопку для обратной передачи

 <asp:Button ID="SendButton" Enabled="True" Width="70" runat="server" PostBackUrl='<%# Eval("GroupName", "SendMessage.aspx?GroupName={0}") %>' Text='Send'></asp:Button>

для отправки имени группы на страницу SendMessage.aspx. Но я чувствую, что он уязвим для атаки, что-то вроде спуфинга (поправьте меня, если я ошибаюсь).

http://localhost:40092/SurelyK/SendMessage.aspx?GroupName=Acc

URL содержит имя группы, которое может быть изменено злоумышленниками. Как я могу предотвратить мой сайт от такой атаки. Дайте мне несколько предложений, пожалуйста.

Ответы [ 2 ]

1 голос
/ 31 августа 2011

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

Если вы не ожидаете, что значения изменятся, вы можете сохранить данные либо в ViewState (который зашифрован), либо в Session (который хранится на сервере и недоступен для клиентов. )

Учитывая, что у вас есть кнопка для отправки этой информации, я думаю, что правильная проверка на стороне сервера - правильный путь.

Кроме того, если вы не защитили эту страницу, требуя аутентификации и авторизации, то вам, конечно же, следует сделать это, чтобы только пользователи, которым вы знакомы и которым доверяли, могли получить доступ к странице независимо от этого.

0 голосов
/ 31 августа 2011

Как насчет использования Session переменных для хранения соответствующих данных? Данные сеанса сохраняются на нескольких страницах до завершения сеанса.

Я никогда не слышал о закаливании переменных сеанса.

...