Задать вопрос
  • Как исправиь ошибку при сканировании безопасности в Битрикс?

    @Finally_tmn
    Сам столкнулся с такой проблемой и решил описать тут решение, которое мне помогло.

    Если коротко - надо было создать файл passwordlist.txt в папке

    /bitrix/modules/security/data/

    Подробное описание:

    Для начала я проверил логи

    /var/log/php/exceptions.log

    Внутри увидел, что сканер безопасности падает со следующей ошибкой:

    ----------
    2024-12-10 11:25:13 - Host: mysite.ru:443 - UNCAUGHT_EXCEPTION - [TypeError]
    count(): Argument #1 ($value) must be of type Countable|array, bool given (0)
    /home/bitrix/www/bitrix/modules/security/classes/general/tests/user.php:74
    #0: CSecurityUserTest->check
            /home/bitrix/www/bitrix/modules/security/classes/general/site_checker.php:68
    #1: CSecuritySiteChecker->startTesting
            /home/bitrix/www/bitrix/modules/security/classes/general/site_checker.php:104
    #2: CSecuritySiteChecker::runTestPackage
            /home/bitrix/www/bitrix/modules/security/admin/security_scanner.php:43
    #3: require(string)
            /home/bitrix/www/bitrix/admin/security_scanner.php:2
    ----------


    Перешёл к файлу

    /home/bitrix/www/bitrix/modules/security/classes/general/tests/user.php


    Там было видно, что код пытался прогнать count по переменной $passwordDicrionary, а эта переменная оказалась пустой. (74 строка в коде)

    Чуть выше по коду (72 строка) видим, что переменная $passwordDicrionary заполняется через метод getPasswordDictionary() а он, в свою очередь, обращается к файлу:

    $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/security/data/passwordlist.txt'


    Перейдя в папку

    /bitrix/modules/security/data/

    Обнаружил, что файла passwordlist.txt тупо нет и всё.

    Я создал пустой файл с таким названием - это решило проблему.
    Ответ написан
    Комментировать