CustomerId и Request.QueryString в ASP.NET - PullRequest
2 голосов
/ 13 апреля 2011

Request.QueryString не очень безопасно. Incase кто-то вошел в систему. Просто набрав в URL

myaccount.aspx?custId=10

Можно получить информацию другого Клиента.

Так что это совсем не безопасно. Причина публикации была потому, что я хотел альтернативный способ передачи customerId между страницами. Возможно зашифровать это?

Ответы [ 7 ]

2 голосов
/ 13 апреля 2011

Строки запроса безопасны и не ошибочны .

Недостатком и небезопасностью является доверие к вводимым пользователем данным.Вы несете ответственность за проверку того, что отправляемые на сервер данные не являются вредоносными и что запрошенное действие разрешено для вошедшего в систему пользователя.

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

2 голосов
/ 14 апреля 2011

Действительно, для myaccount.aspx пользователю не нужно передавать свой идентификатор в качестве параметра.

Как уже говорили другие, используйте Членство.Или создайте хеш (зашифрованное значение) идентификатора пользователя и пароля и сохраните его как файл cookie или в объекте сеанса.Вы можете прочитать это вместо входного параметра.

1 голос
/ 13 апреля 2011

Вы можете проверить членство asp.net

1 голос
/ 13 апреля 2011

Не существует безопасного способа передать его. После того как пользователь вошел в систему, сохраните идентификатор в сеансе или что-то подобное, а затем всегда берите его оттуда.

1 голос
/ 13 апреля 2011

Он делает то, что должен делать.Это зависит от вас, чтобы защитить свой сайт.Никто не сказал, что все в строке запроса используется для функций, связанных с конфиденциальным доступом.

1 голос
/ 13 апреля 2011

Это не ответственность QueryString. Вы должны внедрить систему аутентификации и авторизации, предпочтительно с MembershipProvider и RolesProvider.

0 голосов
/ 13 апреля 2011

Вы должны использовать ASP.NET security для аутентификации и авторизации клиентов, чтобы проверенный вошедший пользователь проверял, имеет ли он доступ к идентификатору клиента, указанному в строке запроса.

...