2013-10-16 3 views
1

У меня есть действие asp.net mvc, которое я должен публиковать публично. URL что-то вроде:Предотвращение доступа к общедоступному URL-адресу в asp.net mvc?

http://www.abc.com/controller/action?q="abcdef"

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

+0

Ответы на вопрос? – AuthorProxy

ответ

0

Один из вариантов заключается в создании одноразового ключа, такого как GUID, который действителен только в течение 5 минут. Храните их в своей БД, и когда кто-то хочет получить доступ к URL-адресу с ключом, убедитесь, что он был менее 5 минут назад. Вы также можете проверить IP-адрес и/или агент пользователя, но это не гарантия (также нет GUID, но это хороший старт). Вероятно, вы также захотите использовать HTTPS, чтобы люди не обнюхивали ваши ключи.

+0

Я тоже думал об атрибуте IP-фильтра. Благодарю. – xaisoft

0
  1. Базовая аутентификация
  2. Digest Аутентификация
  3. форм аутентификации
  4. для Windows
  5. OpenID аутентификации

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

 Смежные вопросы

  • Нет связанных вопросов^_^