Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Зачем token в панели администрирования


 Поделиться

Рекомендованные сообщения

Здравствуйте!

Не могу понять зачем нужна проверка:

 

$this->request->get['token'] != $this->session->data['token']
token в сессии обновляется через какое-то время?

Если да, его же можно перенести в куки?

Ссылка на комментарий
Поделиться на других сайтах


 

token в сессии обновляется

за время сессии не обновляется, если не попытаться зайти в админку без токена

Ссылка на комментарий
Поделиться на других сайтах

за время сессии не обновляется, если не попытаться зайти в админку без токена

Тем более не понятно зачем эта проверка.

Ссылка на комментарий
Поделиться на других сайтах


А зачем хранить в куках?

Вопрос не где хранить, а зачем. Что она дает, эта проверка токена в гете и токена в сессии?

От чего оберегает бедного админа?

Ссылка на комментарий
Поделиться на других сайтах


от неавторизованных действий

Если я уберу проверку токена в гете с токеном в сессии, будут доступны "неавторизованные действия"?

Какие? Если можно пример.

UPD

это сообщение видел https://opencartforum.com/topic/3249-разъясните-что-это-за-токены/?do=findComment&comment=21868

Но все равно не понимаю что нам дает сравнение гета и сессии (никаких других действий я не нашел).

Если у нас в сессии после авторизации хранится user_id.

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

Может я ошибаюсь.

Поясните, пожалуйста.

Ссылка на комментарий
Поделиться на других сайтах


но user_id нигде не хранится в клиентской части

Ссылка на комментарий
Поделиться на других сайтах

но user_id нигде не хранится в клиентской части

ааа, ну теперь Все понятно...

Спасибо, что объяснили.

Ссылка на комментарий
Поделиться на других сайтах


  • 5 лет спустя...
В 16.07.2014 в 00:45, chukcha сказал:

но user_id нигде не хранится в клиентской части

А какой смысл в этом? Почему недостаточно хранить user_id в сессии на сервере, сопоставляя с session_id в браузере. Что token принципиально добавляет к безопасности? Почему недостаточно уникальной session_id в cookie?

Изменено пользователем DEDMEDVED
Ссылка на комментарий
Поделиться на других сайтах


1 час назад, DEDMEDVED сказал:

А какой смысл в этом? Почему недостаточно хранить user_id в сессии на сервере, сопоставляя с session_id в браузере. Что token меняет в безопасности?

 

опенкартовский token относится  к так называемым непрозрачным (opaque) токенам, с ограниченным времени жизни, т.е. по сути до закрытия сессии, или времени жизни сессии

 

Идентификация - двойная

1 $this->user->isLogged()  по user_id

2. $this->request->get['token'] == $this->session->data['token']


В принципе token можно генерить каждый раз новый (проверил , сгенерировал), но тогда сложно работать с несколькими акнами

session_id  кстати доступна на стороне фронта
Можно провести атаку на сессии, можно, воспользоваться заложенными шелами и изменить сессию, вот почему хранение сессий в базе, можно считать более защищенным хранидищем
По большому счету, было бы неплохо самостоятельно менять имя таблицы хранения сессий (для 3х)
было бы неплохо иметь разные сессии для админки и фронта, но тогда бы не работал maintenance  mode

 

Ссылка на комментарий
Поделиться на других сайтах

8 часов назад, chukcha сказал:

Можно провести атаку на сессии, можно, воспользоваться заложенными шелами и изменить сессию, вот почему хранение сессий в базе, можно считать более защищенным хранидищем
По большому счету, было бы неплохо самостоятельно менять имя таблицы хранения сессий (для 3х)
было бы неплохо иметь разные сессии для админки и фронта, но тогда бы не работал maintenance  mode

 

 

Ну а если сессия хранится в БД (и сменить имя таблицы), зачем в таком случае токен?

 

Вообще стоит задача обмена ссылками из админки (например, на заказы). Хочется убрать токены без ущерба безопасности.

Ссылка на комментарий
Поделиться на других сайтах


2 часа назад, DEDMEDVED сказал:

Вообще стоит задача обмена ссылками из админки (например, на заказы)

Не вопрос
Передавайте ссылку, удаляйте token и подставляйте свой

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, chukcha сказал:

Не вопрос
Передавайте ссылку, удаляйте token и подставляйте свой

 

Ну это понятно, что можно так делать. Вопрос в том, какой смысл в токене, если основные уязвимости устраняются хранением сессии в бд? + можно добавить привязку к user-agent и ip, чтобы при их смене сессия прерывалась. 

Ссылка на комментарий
Поделиться на других сайтах


В 24.04.2020 в 11:19, chukcha сказал:

Не вопрос
Передавайте ссылку, удаляйте token и подставляйте свой

 

Ок, если токен так необходим для безопасности, почему бы токен не писать в куку? Зачем его таскать в url?

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.