Запрет выполнения iframe

Статус
В этой теме нельзя размещать новые ответы.

tonimar

Постоялец
Регистрация
2 Апр 2008
Сообщения
57
Реакции
1
Есть cms, есть раздел видео куда вставляется код с сервисов youtube и тд, но также если вставить iframe код он тоже выполняется. Как закрыть выполнение или вставку iframe кода??
Спасибо
 
Iframe не может "выполняться", это не скрипт, а HTML тэг. Я говорю, что это "дырка в странице", в которую подложен другой документ. Объяснение примитивное, но тем не менее.

PHP:
<iframe src="http://www.ya.ru/index.html" width="640" height="480" align="left"></iframe>
Такой код на странице при ее открытии сделает "окошко", где будет "проглядывать" яндекс. И код не "выполняется", это браузер видеть тэг Iframe и просто загружает страницу из параметра SRC.

Если кто-то злонамеренно суёт iframe в админке через визуальный редактор, есть два пути: оторвать ему руки или залезть в компонент админки и запретить добавлять тэг iframe. Т.е. проверять всё, что заслал юзер и вырезать неугодные куски.
 
что такое фрейм я примерно понимаю)) просто не правильно сказал . Это просто делался клон модуля, и как вариант была мысль что все добавленные посты будут проходить модерацию, клонировалось вроде все нормально, но вот посты проходят без модерации, поэтому и спросил или можно обойти. Спасибо за ответ, понял что надо копать в сторону модерации постов:(
 
Не обязательно модерировать.
Есть модуль и в нём есть форма, куда народ что-то пишет. У формы есть обработчик. Можно найти куда попадает содержимое того, что заслал юзер и вырезать из этого содержимого левые и опасные тэги.

PHP:
// Допустим, это то, что заслал юзер
$content = $_POST['message'];

// Вырезаем всё, кроме кроме ютубовских тегов
$content = strip_tags( $content, '<object><param><embed>' );

// Или удаляем предыдущую строку и режем только iframe
$content = preg_replace('%<iframe[^>]+/?>(?:</iframe>)?|</iframe>%i', '', $content);

// Хотя также я бы советовал резать <script> и прочую лабуду
 
если есть возможность - написать компонент/модуль, в который передается ссылка на ютуб, а оттуда спарсить код :X
 
если есть возможность - написать компонент/модуль, в который передается ссылка на ютуб, а оттуда спарсить код :X
нету , пока мозгов не хватит, но примерно понял решение . ;) спс
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху