У меня на PHP сайте установлен редактор ckeditor который создаёт html код для вставки в базу. Задача: отфильтровать в данном коде всё лишнее и опасное
Делаю так, вырезаю все теги, кроме указанных (iframe не вырезаю) $str = strip_tags($str, '<br><p><img><a><b><em><strong><i><font><div><tabl e><tr><td><iframe>');
iframe оставляю для вставки видео, но проблема в том, что используя iframe в последствии можно внедрить вредоносный код, как оставить iframe только для видео с youtube?
Пример видео с youtube: <iframe width="560" height="315" src="https://www.youtube.com/embed/ZAimVTiQ_YI" frameborder="0" allowfullscreen></iframe> ,
но УДАЛИТЬ во всех остальных случаях?
---------- Сообщение добавлено 19:58 ---------- Предыдущее 19:56 ----------
Возможно как-то можно это реализовать при помощи, регулярных выражений...
почему нет? В моём случае остаются только безопасные теги, нужно только как-то проверить iframe на наличие youtube и тогда не надо будет заморачиваться с BBCode
---------- Сообщение добавлено 20:06 ---------- Предыдущее 20:04 ----------
хотя не знаю, может можно как-то закодировать теги или например java код, чтоб он проскочил мимо функции strip_tags ?
Человек-откат, какой еще strip_tags и JS в базе? обалдели совсем что ли? перед вставкой в БД для всего mysql_real_escape_string и htmlentities вам в помошь и можете хранить в базе все что хотите а JS надо в файлах хранить, а не в БД
кто вас учит блять, такую хуйню городить, Попов что ли?
Последний раз редактировалось cOAPerator; 19.02.2016 в 01:04.
strip_tags тупо вырезает все лишние теги и оставляет только теги форматирования, далее обрабатываем нужным образом iframe для youtube (контакта итп), что уже собственно было сделано, лишние iframe удаляем, а затем обработка перед вставкой в базу mysql_real_escape_string и htmlentities итд...