Шифрование паролей (Encrypt Passwords)

Дополнительная защита при авторизации и других действиях с паролями в phpBB3

Здесь вы можете скачать и получить поддержку по модам, созданным командой нашего сайта. Пожалуйста, не пишите и не задавайте вопросов, связанных с чужими разработками, используйте для этого форум ниже.
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение Shredder »

В стандартном phpBB3 все вводимые пользователями пароли отправляются на сервер в виде обычного текста, и при определённых условиях могут быть перехвачены в канале "Браузер пользователя --> Конечный Сервер". Этот мод добавляет дополнительную защиту паролей в виде их шифрования перед отправкой на сервер с помощью устойчивого ко взлому алгоритма RSA. Таким образом, даже если произойдёт перехват пароля в канале между браузером пользователя и конечным сервером, злоумышленник не сможет узнать пароль, потому что не сможет его расшифровать.

Мод находится в стадии бета-тестирования и требует дальнейшей проверки на устойчивость работы, поэтому будем признательны вам за тесты. Хотя лично я в процессе проверки никаких отклонений не обнаружил.
Более детальную информацию можно прочитать в теме о разработке мода: Шифрование паролей в передаваемых формах

Скачать МОД:
encrypt_passwords_v_1_0_7.zip
(257.56 КБ) 1993 скачивания
encrypt_passwords_v_1_0_7.zip
(257.56 КБ) 1993 скачивания
В архиве находится инструкция в формате MODX, плюс русские и английские пояснения к установке (язык выбирается с помощью формы "Select language" в правом верхнем углу инструкции). Может ставиться вручную, либо с помощью Automod.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
maco8024
Сообщения: 22
Зарегистрирован: 04.12.13 16:55
Благодарил (а): 13 раз
Поблагодарили: 3 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение maco8024 »

Приветствую, установил данный мод, через некоторое время в дебаге вылезли вот такие ошибки:

Код: Выделить всё

Файл: [ROOT]/includes/hooks/hook_encrypt_passwords.php
Строка: 34

Код: Выделить всё

[PHP Warning]

require_once(./includes/encrypt_passwords/phpseclib/Crypt/RSA.php) [require-once-function.require-once]: failed to open stream: No such file or directory
В основном от ботов и от гостей.Файл ошибки один и тот же только на разных страницах.
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение Shredder »

Данная ошибка означает, что требуемый для работы мода файл не найден. Проверьте наличие файла includes/encrypt_passwords/phpseclib/Crypt/RSA.php по указанному адресу. Если файл присутствует, попробуйте сделать следующее:
Найти в hook_encrypt_passwords.php:

Код: Выделить всё

global $template, $db;
Заменить на:

Код: Выделить всё

global $template, $db, $phpbb_root_path;
Далее заменить все вхождения $path на $phpbb_root_path и очистить кеш
Не проверялось.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
maco8024
Сообщения: 22
Зарегистрирован: 04.12.13 16:55
Благодарил (а): 13 раз
Поблагодарили: 3 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение maco8024 »

Да, это все сделал - ничего не изменилось.
Забыл еще сказать, что сейчас ошибка только в одном файле на стр.

Код: Выделить всё

Страница: gallery/index.php
Файл: [ROOT]/includes/hooks/hook_encrypt_passwords.php
Строка: 34
А когда входишь на главную gallery/index.php белая страница и светится вот такая ошибка

Код: Выделить всё

Fatal error: require_once() [function.require]: Failed opening required './includes/encrypt_passwords/phpseclib/Crypt/RSA.php' (include_path='.:/opt/php5.3/lib/php') in /home/m/maco8024/forum.vgorahaltaya.ru/public_html/includes/hooks/hook_encrypt_passwords.php on line 34
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Шифрование паролей (Encrypt Passwords)

Сообщение c61 »

maco8024, это из-за галереи, у неё текущий путь отличается от корневого phpbb. В выходные поправлю.

Чтобы сейчас не лезла ошибка, в файле hook_encrypt_passwords.php найдите:

Код: Выделить всё

		$path = defined('ADMIN_START') ? './../' : './';
и добавьте ПОСЛЕ проверку:

Код: Выделить всё

		if(!file_exists($path . 'includes/encrypt_passwords/phpseclib/Crypt/RSA.php')) return;
Это отключит мод для всех случаев, когда не тот путь...
maco8024
Сообщения: 22
Зарегистрирован: 04.12.13 16:55
Благодарил (а): 13 раз
Поблагодарили: 3 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение maco8024 »

c61
Воот! теперь все ок, применил правки от Shredder
и от вас . :)
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение Shredder »

maco8024 писал(а):сейчас ошибка только в одном файле на стр.
А раньше в разных что ли была?
Спрашиваю, чтобы понять, понадобилась моя правка или нет. Если да, то это тоже нужно будет в моде исправить.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
maco8024
Сообщения: 22
Зарегистрирован: 04.12.13 16:55
Благодарил (а): 13 раз
Поблагодарили: 3 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение maco8024 »

Shredder писал(а):А раньше в разных что ли была?
У меня стоял ненужный мод "липовой админки" (его удалил уже), в нем была ошибка и в галереи - больше ошибок небыло.
Что б ясней, приложу сюда файл hook_encrypt_passwords.php там все правки - ошибок больше - нет.
hook_encrypt_passwords.rar
(1.51 КБ) 1178 скачиваний
hook_encrypt_passwords.rar
(1.51 КБ) 1178 скачиваний
Спасибо! :)
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Шифрование паролей (Encrypt Passwords)

Сообщение c61 »

Думаю, достаточно той правки, что приводил. А насчет $phpbb_root_path - могут быть всякие приколы, когда путь к скрипту не совпадает с путём к "штатным" скриптам конференции. Кроме того, в галерее нет работы с паролями, и шифрование не требуется. Хук заточен конкретно под админку и скрипты из корня, моды учитывать не стоит, имхо.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Шифрование паролей (Encrypt Passwords)

Сообщение c61 »

Выпущена версия 1.0.3. Изменения:
  • обновлена библиотека phpseclib
  • добавлена возможность выдачи отладочной информации о времени выполнения
  • добавлена возможность использования ключей 512 бит
  • небольшие улучшения по части безопасности
После проверки можно сделать modx...

Тема там же http://c61.no-ip.org/forum/viewtopic.php?f=11&t=58
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Шифрование паролей (Encrypt Passwords)

Сообщение c61 »

Выпущена версия 1.0.4. Исправления в инструкции установки: были ошибочно заменены на

Код: Выделить всё

[b]1)[/b]
в трёх местах.
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение Shredder »

Потестировал новую версию мода, никаких отклонений мной замечено не было. Архив в первом сообщении обновил.

Добавлено спустя 16 минут 35 секунд:
Поставил сюда новую версию, и у меня тоже случился fatal error :lol:
error.png
Надо всё-таки как-то продумать, чтобы подключалось во всех случаях, либо наоборот - не подключалось, если не может найти файл. Мне больше нравится первый вариант)

Добавлено спустя 25 минут 11 секунд:
Также был обнаружен странный баг с отображением отладочной информации: вопреки описанию мода, она отображается даже при выключенном DEBUG в config.php :D Посмотрел в код, но так и не понял, в чём дело. Если вынести проверку if (isset($template->_rootref['DEBUG_OUTPUT'])) за пределы функции do_encrypt_passwords_debug - всё работает как положено. Если оставить внутри - нет. Похоже на какой-то очередной баг системы хуков phpBB.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Шифрование паролей (Encrypt Passwords)

Сообщение c61 »

Shredder писал(а):...у меня тоже случился fatal error
По-простому можно так:

Код: Выделить всё

		$path = defined('ADMIN_START') ? './../' : './';

		// Поиск phpseclib
		if (!file_exists($path . 'includes/encrypt_passwords/phpseclib/Crypt/RSA.php')) return;

		$encrypt_passwords = new ENCRYPT_PASSWORDS();

		// Генерируем пару ключей RSA
		include_once($path . 'includes/encrypt_passwords/phpseclib/Crypt/RSA.php');
include_once вместо require_once, с этим require_once случаются проблемы.
Хотя есть возможность вычислить абсолютный путь.
Shredder писал(а):....был обнаружен странный баг с отображением отладочной информации...
Похоже на какой-то очередной баг системы хуков phpBB
Похоже на особенности вложений классов в php... Непонятно.
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Шифрование паролей (Encrypt Passwords)

Сообщение Shredder »

Обнаружил следующую проблему при установленном моде "Prime Quick Login", который добавляет форму входа в верхней части форума на все страницы: при вводе учётных данных в любую из нижележащих форм для входа, невозможно зарегистрироваться или войти на форум.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Шифрование паролей (Encrypt Passwords)

Сообщение c61 »

Shredder писал(а):странный баг с отображением отладочной информации
Эта бяка у меня во всех хуках)) Вместо проверки на define('DEBUG') проверяю $template->_rootref['DEBUG_OUTPUT'], который всегда определён))
Shredder писал(а):Обнаружил следующую проблему при установленном моде "Prime Quick Login"...
Однако, несколько форм с вводом пароля не предполагал... Доделал.

Выпущена версия 1.0.5. Изменения:
  • Исправлена ошибка с возможным fatal error, если не обнаружен файл RSA.php
  • Исправлена ошибка с выдачей отладочной информации
  • Исправлена несовместимость с модом Prime Quick Login и наличием на странице нескольких форм с вводом пароля (ограничение мода: не более 4 тэгов input с тиопм password на странице)
Ответить