У меня есть сценарий, в котором пользователям сайта, который я создаю, требуется возможность вводить некоторую базовую информацию в веб-форму без необходимости входа в систему. Сайт разрабатывается с помощью ASP.NET/C# и использует MSSQL 2005 для реляционных данных.
Пользователям будет отправлено электронное письмо с сайта, предоставив им уникальную ссылку для ввода конкретной информации, которая им требуется. Электронная почта будет очень похожа на стиль электронной почты, который мы все получаем при регистрации на таких сайтах, как форумы, содержащие произвольно сгенерированный уникальный URL-параметр, конкретно относящийся к одной цели (например, проверка адреса электронной почты для форума).
Мои запросы касаются безопасной реализации этой проблемы. Я рассматривал использование GUID как уникальный идентификатор, но не уверен в его последствиях в мире безопасности.
- Является ли GUID достаточно длинным, чтобы значения не могли быть легко угаданы (или грубо-принудительно с течением времени)?
-
Является ли внедрение .NET GUID достаточно случайным в том смысле, что существует равная вероятность генерации всех возможных значений в "ключевом пространстве"?
-
Если использование GUID является приемлемым подходом, должен ли сайт затем перенаправляться на информацию посредством перезаписи URL-адресов или путем связывания информации в datatable с идентификатором GUID в качестве ссылки?
-
Будет ли использование перезаписи URL скрыть истинный источник данных?
-
Должен ли я использовать TSQL SELECT NEWID() в качестве генератора GUID для реализации .NET?
-
Я совершенно не согласен с моим подходом к этой проблеме?
Большое спасибо,
Карл