Про безпеку прив'язка сесії до ip і (або) useragent

Про безпеку прив'язка сесії до ip і (або) useragent

1. Модернізація коду:
1.1. шукаємо файл
classes / actions / ActionLogin.class.php

У функцію EventAjaxLogin (), після рядка (85 рядок):


Додаємо наступні рядки

1.2. шукаємо файл
classes / modules / user / User.class

У функцію Init (), після рядка (71 рядок):


Додаємо наступні рядки


У функцію Authorization (), після рядків (після 526 рядки):


Додаємо наступні рядки


У функцію Logout (), після рядка (571 рядок):


Додаємо наступні рядки

2. Модернізація шаблону (на прикладі дефолтного шаблону synio):
2.1. шукаємо файл
templates / skin / synio / window_login.tpl

У функцію EventAjaxLogin (), після рядка (85 рядок):


Після 40 рядки:


Додаємо наступні рядки

2.2. шукаємо файл
templates / skin / synio / actions / ActionLogin / index.tpl

Після 18 рядки:


Додаємо наступні рядки

3. Додаємо мови (на прикладі Російської мови)
3.1. шукаємо файл
templates / language / russian.php

Після 23 рядки


Додаємо наступні рядки


Зберігаємо і користуємося.

Про безпеку прив'язка сесії до ip і (або) useragent

IP може змінюватися Не ставте галочку
UserAgent - включає номер версії, який буде змінюватися після кожного оновлення браузера, що так само буде приводити до скидання. виправимо

Про безпеку прив'язка сесії до ip і (або) useragent

UserAgent - включає номер версії, який буде змінюватися після кожного оновлення браузера, що так само буде приводити до скидання. Виправимо Не треба

Ну і кагбе сесія на сервері живе дуже недовго. Наприклад на дебіане це за замовчуванням 1440 сек. Через цей інтервал часу на сервері сесії вже немає і перевіряти нічого. Потрібно працювати з таблицею сесій і закривати персистентную сесію, або сесії (то що з галочкою «запам'ятати мене» відкривається).

Про безпеку прив'язка сесії до ip і (або) useragent

Кагбе функція Logout.
галочкою «запам'ятати мене» створюється кука, яка Дропана функцією Logout модуля User.

Какбе функціонал додає опції, а не жорсткі правила прив'язки до IP і UserAgent.

Писати щось в сесію і перевіряти безглуздо, сесія знову дропнется. Цей прийом захищає тільки якщо зловмисник вкраде вашу сесійний куку і вималюється в ітервале часу життя сесії на сервері. Якщо ж він вкрав персистентную куку (ключ сесії) то він спокійно зайде, перевідкрив нову сесію. На іншій чаші ваг зіпсований призначений для користувача досвід.

Треба робити як я сказав вище - писати IP в таблицю сесій, закривати старі і відкривати нові, примусово закривати при зміні IP, перевіряти також не закрилася чи сесія.