Я владелец сайта на Wordpress. Сайт с отзывами: люди могут размещать отзывы, после модерации контенщиком, отзывы публикуются.
На одной из страниц сайта с отзывами вчера разместили отзыв, сегодня контещик ОКнул отзыв. И после страница не работала(было написано внутренняя ошибка wordpress, или не внутренняя, но "что-то там ошибка Wordpress"). Что страница легла я заметил случайно сегодня вечером. Т.к. не работала только одна страница, сразу подумал, что дело с отзывами. И удалил последние отзыв. И после сразу страница заработала.
Отзыв я не сохранил. Но я его бегло прочитал перед удалением, там был какой-то смайл или знак с использование скобки "<" или ".>" и других символов. Могло ли это положить сайт? Можно ли от этого защититься?
Стандартный функционал WP должен от такого защищать...
Как-то криво реализовано в шаблоне добавление комментариев...
обычно есть файл comments.php, там немного кода должно быть и форма выводится comment_form()
Андрей Рабой, тоже мне, событие - в очередном кривом плагине словить ошибку. тут скорее наоборот - найти у вордпресса плагин в котором нет ошибок - вот это событие
Блин, все другие так идеально пишут код, а потом ошибки маскируют под фичи или "а зачем" или "а так не нужно делать"
Нужно воспринимать ошибки как особенности, по возможности править или писать в поддержку - это вариант
Такое возможно. Особенно если отзывы реализованы сторонним плагином, который может содержать ошибки.
Чтобы защититься, нужно изучить проблему. То есть найти проблемный отзыв (дождаться повторения), и посмотреть логи ошибок сервера чтобы понять что конкретно этот отзыв ломает в системе.
Исходя из этого уже сделать фильтр который не будет пропускать такие "зловредные" отзывы, либо фильтр который будет их обезвреживать.
Навскидку, похоже, что в отзыве была либо MySQL инъекция, либо js код, либо символы, которые уронили json_decode.
Надо смотреть, что конкретно там было.