Доброе время суток!
У меня на 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 ----------
Возможно как-то можно это реализовать при помощи, регулярных выражений...
- 18.02.2016 15:58
- 18.02.2016 15:58
да не стоит думаю это делать вообше в целях безопасности в таких случаях большинство cms используют BBCode
- 18.02.2016 16:06
почему нет? В моём случае остаются только безопасные теги, нужно только как-то проверить iframe на наличие youtube и тогда не надо будет заморачиваться с BBCode
---------- Сообщение добавлено 20:06 ---------- Предыдущее 20:04 ----------
хотя не знаю, может можно как-то закодировать теги или например java код, чтоб он проскочил мимо функции strip_tags ? - 19.02.2016 00:59
Человек-откат, какой еще strip_tags и JS в базе? обалдели совсем что ли?
перед вставкой в БД для всего mysql_real_escape_string и htmlentities вам в помошь и можете хранить в базе все что хотите
а JS надо в файлах хранить, а не в БД
кто вас учит блять, такую хуйню городить, Попов что ли?Последний раз редактировалось cOAPerator; 19.02.2016 в 01:04.
Спасибо сказали:
buninsan(19.02.2016), - 19.02.2016 01:36
- 20.02.2016 04:03
cOAPerator, притормози парнишка,
strip_tags тупо вырезает все лишние теги и оставляет только теги форматирования, далее обрабатываем нужным образом iframe для youtube (контакта итп), что уже собственно было сделано, лишние iframe удаляем, а затем обработка перед вставкой в базу mysql_real_escape_string и htmlentities итд...
И с BBCode заморочки не нужны!
Вот и всё, почему нет? - 22.02.2016 18:36
Человек-откат, ну и зачем столько телодвижений?
если вы так боитесь за безопасность, используйте шорткоды для ссылок на ютуб, что то типа
{https://www.youtube.com/embed/ZAimVTiQ_YI}
а потом регуляркой меняйте перед добавлением туда и при выводе обратно. (и не надо говорить что регулярки долго работают)
заодно мона будет любой плеер обертку нормальный запилить на сайт, для любых видео с любых сервисов.
и еще момент, обрезайте в пути к ролику протокол чтобы получилось
//www.youtube.com/embed/ZAimVTiQ_YI
а то вдруг перейдете на SSL, чтобы потом менять не пришлось во всех роликах
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Вырезать кусок кода с темы Wordpress | WordPress | 2 | 05.02.2015 14:53 |
Теги для youtube видео | Вопросы от новичков | 9 | 23.03.2014 12:33 |
Вырезать все теги в wordpress до more | Web программирование | 2 | 19.11.2011 22:50 |
Как в WP вырезать из RSS ненужные части | Web программирование | 6 | 05.10.2011 14:56 |
iframe.name партнерка по выкупу Iframe трафика | Партнерские программы | 6 | 06.12.2010 22:49 |




