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 - включає номер версії, який буде змінюватися після кожного оновлення браузера, що так само буде приводити до скидання. виправимо
UserAgent - включає номер версії, який буде змінюватися після кожного оновлення браузера, що так само буде приводити до скидання. Виправимо Не треба
Ну і кагбе сесія на сервері живе дуже недовго. Наприклад на дебіане це за замовчуванням 1440 сек. Через цей інтервал часу на сервері сесії вже немає і перевіряти нічого. Потрібно працювати з таблицею сесій і закривати персистентную сесію, або сесії (то що з галочкою «запам'ятати мене» відкривається).
Кагбе функція Logout.
галочкою «запам'ятати мене» створюється кука, яка Дропана функцією Logout модуля User.
Какбе функціонал додає опції, а не жорсткі правила прив'язки до IP і UserAgent.
Писати щось в сесію і перевіряти безглуздо, сесія знову дропнется. Цей прийом захищає тільки якщо зловмисник вкраде вашу сесійний куку і вималюється в ітервале часу життя сесії на сервері. Якщо ж він вкрав персистентную куку (ключ сесії) то він спокійно зайде, перевідкрив нову сесію. На іншій чаші ваг зіпсований призначений для користувача досвід.
Треба робити як я сказав вище - писати IP в таблицю сесій, закривати старі і відкривати нові, примусово закривати при зміні IP, перевіряти також не закрилася чи сесія.