Bitrix: Request is not XHR

В одном из проектов, скрипт парсит сайт на bitrix. С какого то момента, при установке параметров таблицы отдаваемой по ajax, стала выводиться ошибка «Request is not XHR». Быстрый гуглинг решения не дал. Стал кропотливо сравнивать заголовки которые отдаются запросом в браузере и заголовки который отдавал в скрипте. Отличие нашлось относительно быстро, страница на сайте добавляла дополнительный заголовок «Bx-ajax:true». В результате модифицировал скрипт следующим образом:

Сама функция запроса уже устоялась, и при таскании из скрипта в скрипт у меня выглядит так::

Request is not XHR

Подготовка сервера RED OS 7.3 к установке Битрикс «Управление сайтом»

Дальнейший ход установки предполагает, что у вас уже установлена RED OS в конфигурации программ «Сервер минимальный», без выбора ПО (т.е. php, apache и т.д. будем ставить позже и сами!)

Отключим SELinux:

Настроим отправку почты из консоли:

Для проверки работы:

Установим PHP 8.1

Если вдруг необходима версия PHP 7.4, которая идёт по умолчанию, то соответственно первая строчка не нужна

Установим Apache и Ngnix

Установим MariaDB

Установим Redis

Настройка Ngnix

Создадим папку /var/www/html/bx-site, присвоим ей пользователя и группу:

Далее качаем этот архив, и содержимое папки /redos/nginx переписываем поверх в /etc/nginx. Кроме того нужно в /etc/hosts добавить строчку:

В случае необходимости включить сразу ssl, добавим в файл /etc/ngnix/sites-available/default.conf секцию вида:

Если необходима (а она скорее всего необходима) переадрессация с http на https, то в секцию c 80 портом, добавляем строчки:

Запустим сервис:

Настройка PHP

В папке /etc/php.d необходимо отредактировать настройки модулей:

opcache

bitrix.ini

Настройка Apache

  • Добавить в /etc/httpd/conf.d файл default.conf из архива выше
  • в httpd.conf заменить Listen 80 на Listen 8090
  • заменить файл /etc/httpd/conf.modules/00-mpm.conf на файл из архива выше

Запустить httpd:

На этом моменте файл index.php размещенный в /var/www/html/bx-site уже должен отображаться адекватно

Настройка MariaDB

В файле /etc/my.cnf.d/mariadb-server.cnf внутри тега [mysqld] необходимо добавить/изменить строки:

Запуск сервиса:

Заходим в консоль сервера mysql, создаём пользователя и даём ему права:

Настройка Redis

В папке /etc/redis необходимо заменить файл redis.conf из архива выше, и выполнить в консоли:

На этом в принципе и всё. Сервер подготовлен для развертывания битрикса в папке /var/www/html/bx-site. По идее далее кидаем туда дистрибутив (ну или бекап, если сайт переносите как я) и начинаем установку из браузера

Bitrix: восстановление пароля администратора

Задача: восстановить утерянный пароль администратора

Решение 1: создать в корне сайта файл вида:

, где вместо цифры 1 можно использовать id вашего пользователя. Но обычно подходит и 1. Далее необходимо его открыть в браузере

Решение 2: если мы помним логин, и есть доступ к БД, то

  1. Ищем id пользователя с правами администратора:

Меняем пароль на любимый:

Bitrix: уязвимость CGI Generic HTML Injections

Уязвимость актуальна для версии v21.9 и ниже. Пока нет информации что исправлена!

Эксплуатация: при переходе по специально сформированной ссылке на сайт с битриксом, выводится произвольное содержимое и выполняется произвольный js код.

Проверка вшивости сайта:

Исправление: самый простой способ, до исправления от битрикса — поправить .httaccess, добавив строчки:

Битрикс: Вывод файла в детальном отображении товара

Задача: 1) позволять прикреплять инструкцию к товару. 2) Отображать её в товаре, в том случае если файл прикреплен.

Решение:

  1. Добавляем руками новое свойство в информационном блоке «Основной каталог товаров»

2) Открываем шаблон детального отображения товара и добавляем:

В начале файла, заполняем переменную $INCTRUCTION_SRC

В нужном месте для вывода добавляем:

Результат:

1 2