Безопасно ли хранить идентификатор в идентификаторе элемента управления ASP.NET? - PullRequest
0 голосов
/ 23 апреля 2010

Я автоматически генерирую форму на своей странице ASP.NET.Это уже проверено и работает.Я хочу знать, если:

  1. Есть ли проблемы с безопасностью при сохранении идентификатора базы данных как части идентификатора моего элемента управления?Я могу подумать о двух проблемах: идентификатор будет виден в исходном коде страницы (в данном случае это не очень важно), и есть ли вероятность того, что кто-то сможет изменить имя элемента управления?Эта вторая возможность более серьезна.Является ли это потенциальной проблемой и как ее устранить?

  2. Если бы был более предпочтительный способ связать уникальные данные с любым типом управления?Можно ли сохранить пользовательский элемент в состоянии просмотра для элемента управления?

Ответы [ 5 ]

0 голосов
/ 23 апреля 2010

Нет ничего плохого в использовании идентификатора базы данных на странице. Просто посмотрите на URL этой страницы или почти любой другой сайт в стиле MVC. Сам по себе это не риск для безопасности, если ваша система не уязвима для атак с использованием SQL-инъекций - и если это так, у вас есть более серьезные проблемы, о которых нужно беспокоиться.

0 голосов
/ 23 апреля 2010

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

если вам необходимо сохранить идентификатор базы данных, сохранить его в сеансе или поместить в файл web.config.

0 голосов
/ 23 апреля 2010

просто сохраните их в окне состояния

viewstate["DB_ID"] = datarow("ID")
0 голосов
/ 23 апреля 2010

Вы можете использовать скрытое поле. Или лучший способ сохранить ваш идентификатор в сеансе. Сессии действительно безопасны.

0 голосов
/ 23 апреля 2010

Вы можете создавать свои собственные пользовательские элементы управления, например, наследуя от TextBox. Создайте свойства, которые хранят данные в ViewState. Для меня это самый быстрый и простой способ достичь нужного вам результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...