Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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

 

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

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

Надіслати
Поділитися на інших сайтах


 

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

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

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах


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

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

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

UPD

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

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


  • 5 years later...
В 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?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.