Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обнаружить потенциально опасные теги
 
 автор: Deed   (17.02.2011 в 21:19)   письмо автору
 
 

Всем привет!
Прогрессивное человечество пожелало само вставлять видео в новости. Чтобы не парить мозги далеким от вэбодела юзерам лишними сложностями, я дал им возможность вставки в определенный input просто адреса вэб-страницы с вожделенным видео, а все остальное за них сделает парсер.
Ю-туб проблемы не представляет, там все очень просто. Но вот другие адреса могут эти проблемы создать.
Ну, к примеру, пусть будет адрес страницы:

<?
$url
="http://lb.ua/news/2011/02/17/84984_Inspektoram_GAI_stavyat_zadachi_po.html";

$paga=file_get_contents($url);

preg_match("/<object .+<\/object>/is",$paga,$play);

unset(
$paga);

echo 
$play[0]; //Наш плеер с видео
?>

Тут проблем нет. Но существуют, однако, зловредные юзеры, которые так и норовят что-нибудь "хакнуть".
Поэтому переменная $play[0] нуждается в дополнительной проверке:


<?
if (preg_match("/<script|vbscript|iframe|<b|<p|<a|<t(d|r)|<strong|<i|<u/i",$play[0])){
    
    echo 
"Идите, товарищ, лесом!";
}
?>



Но мне кажется неполным данный перечень возможных пакостей.


Или лучше использовать


<?
$play
=strip_tags($play[0],'<object><param><embed>');
?>


Как считаете?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования