Форум → Программирование → PHP для идиотов → Одноразовые полномочия
Одноразовые полномочия
-
Ситуация такая: некоторые операции надо разрешить выполнять без полноценной аутентификации, просто по "ключу" в адресе. Типично это отписка от почтовой рассылки.
Пользователь закипит, если по ссылке заставить его вводить имя/пароль. То есть пускаем его просто благодаря наличию "секрета" в ссылке. При том возможно ему понадобится какие-то галочки расставить, что-то написать, короче полноценная сессия работы. Но без пароля. Но только в ограниченном контексте, чтобы сука перехвата ссылки на отписку не хватило для кражи аккаунта.
Хочу услышать правильные термины и узнать где есть примеры и заготовки такой секурности. Симфони в первую очередь, но сгодится любая инфа хоть про питон.ιιlllιlllι унц-унц -
28 февраля 2014 г. 0:27, спустя 57 минут 54 секунды
Я для своих проектов так не заморачивался, ну т.е. надо пользователю авторизоваться, если он не авторизован для управления подписками. В одном проекте у меня отписка только делается и как такового управления нет. В другом подразумевается что сессия дается на год и случаев что пользователь зашел с другого бразура, почистил куки и т.п. очень мало
Но на Django я бы это сделал за 15 минут. Вкратце:
- Делается декоратор, который добавляется для вьюхи некое свойство, типа view._temporary_user_allowed.
- Этим декоратором помечаются все нужные вьюхи
- Добавляется Middleware.process_view:
- В которой проверяется вьха на наличие флага view._temporary_user_allowed, если он есть, то создаем пользователя и инъектим в реквест
- Если нет такого флага, но есть пользователь, то делаем ему logout
Все!
https://smappi.org/ - платформа по созданию API на все случаи жизни -
Пожалуйста, авторизуйтесь, чтобы написать комментарий!