Udesign, там же есть ссылка на анкету автора
http://johncms.com/users/profi ... 21326
и собсна тема
Мини-чат for JohnCMS 6.1.2 где можеш задать вопрос и получить конкретный ответ.
Просмотрел, все там норм на входе и выходе фильтруется, откуда ты там получил инъекцию не понимаю.
desay, на мой сайт зайдите и в чате пишите сообщения у ведите
http://durdonam.ru/chat.php
# Udesign (09.05.2016 / 15:10)
desay, на мой сайт зайдите и в чате пишите сообщения у ведите http://durdonam.ru/chat.php
Замени свой файл на тот что в теме модуля, там все фильтруется и норм пишется в базу, на выходе тоже есть обработчик. Сейчас у тя там полная каша, так как ты добавил htmlspecialchars в фильтрацию на запись, и получилось то что ты имеешь сейчас.
# Udesign (09.05.2016 / 15:24)
desay, ага спасибо
В модуле нет инъекции и нет жалоб, а перемудрил что то ты сам
desay, да лишний удалил посматрите этот код
филт (+/-)
/**
* Фильтрация строк
*
* @param string $str
*
* @return string
*/
public static function checkin($str)
{
if (function_exists('iconv')) {
$str = iconv("UTF-8", "UTF-8", $str);
}
// Фильтруем невидимые символы
$str = preg_replace('/[^\P{C}\n]+/u', '', $str);
return trim($str);
}
/**
* Обработка текстов перед выводом на экран
*
* @param string $str
* @param int $br Параметр обработки переносов строк
* 0 - не обрабатывать (по умолчанию)
* 1 - обрабатывать
* 2 - вместо переносов строки вставляются пробелы
* @param int $tags Параметр обработки тэгов
* 0 - не обрабатывать (по умолчанию)
* 1 - обрабатывать
* 2 - вырезать тэги
*
* @return string
*/
public static function checkout($str, $br = 0, $tags = 0)
{
$str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8');
if ($br == 1) {
// Вставляем переносы строк
$str = nl2br($str);
} elseif ($br == 2) {
$str = str_replace("\r\n", ' ', $str);
}
if ($tags == 1) {
$str = bbcode::tags($str);
} elseif ($tags == 2) {
$str = bbcode::notags($str);
}
return trim($str);
}
правильно работает фильтрация
# Udesign (09.05.2016 / 13:56)
допустим я говорю бред давайте я вам дам тот чат посмотрите чат не обрабатывает php html коды. обрезка сообщений это для чата установил проста
обрезка поста ни есть хорошо, лучше тогда сделать ограничение на кол-во символов. Будет так юзер пост огромный писать, а ему половину вырежит на фиг, я бы застрелился наверное)
Есть таблица со списком запрещённых ip, e-mail и так далее. Выглядит она так:
INSERT INTO `cms_banned` (`id`, `users_id`, `descr`, `date`, `days`, `ip`) VALUES
(1, 0, '', '0', 0, '*@leeching.net'),
(4, 0, '', '0', 0, '*@extremail.ru'),
(3, 0, '', '0', 0, '*@kismail.ru');
Вся беда в том, что из панели движка можно добавлять всё по одной записи. Как выполнить запрос к базе, чтобы добавить массово e-mail из списка, в эту таблицу?
Sitego, ну values через запятую заполняй
values
далее
цикл
'(' . implode(',' , $arr[$i]) . ')'
в конце цикла условие, если $i != count($arr) добавляем запятую