Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 517356

Как стоит защищать пользователя от компромитированных действий - PHP для начинающих

$
0
0
Привет! Расскажите о том, как стоит защищать пользователя от компромитированных действий.

Например есть голосование. Скажем выбираем главу нашей великой страны.
Что бы проголосовать, пользователь должен отправить запрос скажем ?act=vote&id=1&opt=2
Таким образом он проголосует за второй вариант опроса с id 1. Всё круто, но допустим появился злостный мерзавец и он всех шлёт на эту ссылку таким образом набивая себе голоса.

Разумеется стоит как-то защитить пользователя от такого.
Например в варианте с логаутом, при авторизации я подаю пользователю куку с рандомной строкой.
И ссылку на логаут генерирую доставая значение куки.
Ну и при переходе пользователем по такой ссылке, если всё верно - происходит логаут.
Получается если злодей не знает "ключа" логаута - он никак не сможет разлогинить пользователя.
Отличный подход! Очень нравится он мне, но я вдруг осознал что защитил я только логаут.

Теперь вот решил защитить другие действия и понял что таких действий у меня довольно много.
Я решил что создать один ключ подтверждения действий не достаточно.
Как минимум я бы хотел разграничить этот ключ с ключём для более опасных действий вроде удаления аккаунта или тем более действий в админ панели...

А теперь вопрос. Правильно ли я рассуждаю? Для каждого действия должен быть уникальный ключ?
И в случае если вы ответите "да", то как хранить эти ключи? Хранить 50 кукисов, мягко говоря очень странно.

В мыслях разве что отталкиваясь от одного ключа - генерировать другие на основании какого-то алгоритма.

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

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

Добавлено через 1 час 0 минут
Бамп

Добавлено через 44 минуты
Такая печаль. Неужели меня просто игнорят? Если так, возможно стоит пересмотреть взгляды на мир.
Ну или просто пойти на другой форум. В любом случае плевать. Если не будет ответа, просто забью на этот форум до каких нибудь лучших времён

Viewing all articles
Browse latest Browse all 517356

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>