Задача: есть таблица, в каждой ячейке которой находится поле input. Необходимо чтобы после ввода данных в поле и нажатии Enter проиходил переход на следующую ячейку
Решение:
$('body').on('keydown', 'input, select', function(e) {
if (e.key === "Enter") {
var self = $(this), form = self.parents('table:eq(0)'), focusable, next;
focusable = form.find('input,textarea').filter(':visible');
next = focusable.eq(focusable.index(this)+1);
if (typeof next!=undefined){
if (typeof next[0]!=undefined){
if (next[0].disabled==true){
next = focusable.eq(focusable.index(this)+3);
};
if (next.length) next.focus();
};
};
return false;
}
});
Уязвимость актуальна для версии v21.9 и ниже. Пока нет информации что исправлена!
Эксплуатация: при переходе по специально сформированной ссылке на сайт с битриксом, выводится произвольное содержимое и выполняется произвольный js код.
Проверка вшивости сайта:
https://ваш_сайт/catalog/?q=<"dqzsbr%20>
Исправление: самый простой способ, до исправления от битрикса — поправить .httaccess, добавив строчки:
К сожалению в руководстве по установке, процесс описан очень коротенько, и очень часто установка сводится к выводу сообщения:
Whoops! We seem to have hit a snag. Please try again later…
Чтобы улучшить информативность фреймворка, что же ему таки не хватает, можно временно добавить в index.php строчку:
define('ENVIRONMENT', 'testing');
Но! В этом случае после успешного прохождения всех шагов инсталляции, фремворк будет пытаться проходить тесты и писать результаты в SQLite3, что нам не нужно. Потому не забудьте эту строчку удалить.
Для локализации, достаточно скачать необходимый язык из https://github.com/helpdesk-z/translations, и в настройках поменять локаль на нужную