1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.2.x Как XenForo шифрует пароли?

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем CRaFT4ik, 01.04.2014.

Загрузка
  1. CRaFT4ik

    CRaFT4ik Пользователь

    Регистрация:
    19.04.12
    Сообщения:
    9
    Симпатии:
    1
    Версия XF:
    1.1.4
    Мне необходимо узнать метод шифрования паролей на версиях XenForo 1.2.x+ (где используется "XenForo_Authentication_Core12", вместо "XenForo_Authentication_Core").
    Ранее было так: (sha256, (sha256, пароль) . соль); Как теперь, мне неизвестно. Прошу помочь. Спасибо.
     
    limon4eg нравится это.
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да вроде не поменялся.
     
  3. akinak

    akinak Местный

    Регистрация:
    12.02.13
    Сообщения:
    259
    Симпатии:
    243
    Версия XF:
    1.1.3
    Там используется фреймворк PHPass для этого.
    В двух словах не рассказать, могу дать файлики, в коде смотрите сами.
     
  4. CRaFT4ik

    CRaFT4ik Пользователь

    Регистрация:
    19.04.12
    Сообщения:
    9
    Симпатии:
    1
    Версия XF:
    1.1.4
    Буду благодарен.
     
  5. akinak

    akinak Местный

    Регистрация:
    12.02.13
    Сообщения:
    259
    Симпатии:
    243
    Версия XF:
    1.1.3
    Я же еще в первом сообщении делал вложении. Но его нет. Странно, попробую еще раз.
     
    CRaFT4ik нравится это.
  6. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Публикация достаточно большого кода из движка вообще-то может являться варезом. Поэтому его и удалили. Вы уж не стесняйтесь - выкладывайте сразу весь оригинал - людям будет проще разобраться, как он работает.
     
    adder нравится это.
  7. adder

    adder Местный

    Регистрация:
    08.10.10
    Сообщения:
    1 164
    Симпатии:
    846
    Версия XF:
    1.3.4
    @akinak Извиняюсь, что не оповестил об удалении Вашего вложения. Внутри архива на самом деле находились файлы относящиеся к лицензионному форуму XenForo. В связи с этим я был вынужден удалить вложение.
     
  8. akinak

    akinak Местный

    Регистрация:
    12.02.13
    Сообщения:
    259
    Симпатии:
    243
    Версия XF:
    1.1.3
    А, понял, извиняюсь. Не подумал, что 2 файла из 1000 будут считаться варезом. Больше не буду :)
     
  9. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Не совсем верно. Т.к. на сайте XenForo можно получить демо версию (по крайней мере раньше всегда можно было), в которой тоже есть эти файлы... Поддержка лицензии - это хорошо, но такие крайности это перебор.

    P.S. Тогда кучу хаков из ресурсов тоже надо удалить ибо они тоже нарушают лицензионные соглашения.
     
    vengaboy и Kolya groza morey нравится это.
  10. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Перебор, согласен.
    Но, Серег, ты у них можешь сам спросить. Уверен, скажут нужно удалять. Они же в свое время даже инсталлятор не дали перевести, чего уж там.
     
    Yoskaldyr и infis нравится это.
  11. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Они зациклены на авторстве. Если даже бесплатные плагины не дают распространять вне офа. Поэтому лучше не давать лишних поводов. Если относительно плагинов еще можно съехать, то публикация даже части кода движка уже явно является нарушением.

    Теперь по существу. Если человек пытается разобраться с тем, как шифруются пароли ксена, то предполагается, что делается что-то типа моста или интеграции. А это подразумевает наличие и движка. Так зачем выкладывать часть движка, отвечающую за хеши паролей? Ведь достаточно указать, где это лежит.
    --- добавлено : 3 апр 2014 в 13:54 ---
    Кстати, по поводу распространения плагинов вне офа. Т.е., например, взять плагин оттуда и выложить его тут. В подавляющем большинстве случаев нигде в плагинах не указаны требования распространения вне офа. Ну и в крайнем случае большинство плагинов легко берется с других ресурсов и затем выкладывается здесь. В этом случае вообще не может идти речь о неправомерном распространении, ведь выкладывающий совсем может даже и не знать о запрете распространения. Ну и т.д. В любом случае запрет распространения бесплатных и открытых плагинов без их модификации или перепаковки (редистрибьюции) в общем не является юридически значимым, так как является в общем неконтролируемым и т.д.
     
    Последнее редактирование модератором: 11.04.2014
    Mirovinger и Kolya groza morey нравится это.
  12. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Сейчас это так происходит:

    • Если в системе, в которой установлен PHP, системным вызовом crypt(3) поддерживается алгоритм BLOWFISH, для хеширования выбирается он. Если нет, проверяется поддержка EXT_DES, если поддерживается, используется он. Если и он не поддерживается, используется внутренняя функция crypt() со своим вариантом реализации, основанная на md5()
    • Потом делается попытка получить случайный набор байт из нескольких источников. И этот набор байт используется в качестве аргумента для вызова crypt() с паролем. Он хранится с хешем пароля как соль (незашифрованный).
    В сгенерированном хеше лежит тип вызова crypt(), который для него использовался, незашифрованная соль и сам хеш.

    Фактически, на нормальной системе для хеширования паролей используется CRYPT по варианту Шнайера (Blowfish). Посмотреть это внутри XenForo можно открыв файл library/XenForo_PasswordHash.php
     
    fly_indiz, Nevil и Mirovinger нравится это.

Поделиться этой страницей