Bitrix WTF

Я сейчас в Ярославле слушаю доклад по клиентским сертификатам.

Рядом со мной сидит Коля Мациевский, он один из первых в России начал комплексно исследовать вопрос оптимизации загрузки сайтов и владеет сейчас первой в России компанией «WeBo», которая этим занимается. Коле скоро выступать, а пока он ковыряет исходники своего продукта, а точнее плагина, который встраивает упомянутый продукт в CMS «Bitrix».

Причина в том, что внутренний антивирус «Bitrix» почему-то вырезает JavaScript, который подключается плагином. Проблема оказалась в следующем коде:

$ll = strlen(bin2hex($this->body))/2;

if($ll > 500)
{
    $val = 9;
    $r += $val;
    $this->resultrules['rulescriptlenghts_sl'] = $val;
    return $r;//только одно правило из блока
}

Вот эта странная во всех отношениях (почему не просто strlen?) проверка считает вирусным любой JS-код, строка которого занимает больше, чем 500 байт.

Комментарии 4

Александр Фёдоров (spambaster.ya.ru) № 1
Я так понимаю глупый вопрос «почему именно 500байт»?
Евгений Степанищев (bolknote.ru) автор № 2
Вопрос — почему вообще есть такое ограничение. Много людей используют компрессоры JS (например, jQuery), они делают очень длинную строку из вашего JS.
karudo (karudo.ya.ru) № 3
Ну может потому, что вирусы тоже любят в одну строчку выстаиваться?
А еще там есть вроде как исключения