|
|
|
| Добрый день!Подскажите как грамотно с точки зрения безопасности средствами php проверить код,который пользователь берёт на ютубе и вставляет его на сайте.То есть смысл в том чтобы пользователь не вставил что то вредоносное.
например вот код с ютуба:
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/U-c9R-so5V4?fs=1&hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/U-c9R-so5V4?fs=1&hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
|
| |
|
|
|
|
|
|
|
для: nautilus2812
(04.09.2010 в 11:25)
| | Дак просите от пользователя только адрес к ролику, вырезайте нужную часть и вставляйте в готовый шаблон. | |
|
|
|
|
|
|
|
для: neadekvat
(04.09.2010 в 11:27)
| | ну в принципе да..согласен | |
|
|
|
|
|
|
|
для: nautilus2812
(04.09.2010 в 11:32)
| | то есть я беру шаблон с ютуба..пользователь вставляет адрес..я нужное вырезаю и вставляю в этот шаблон..только вот если на ютбе что то поменяют ..то мне придётся постояно шаблон менять. | |
|
|
|
|
|
|
|
для: nautilus2812
(04.09.2010 в 11:38)
| | Не поменяют, не бойся. | |
|
|
|
|
|
|
|
для: nautilus2812
(04.09.2010 в 11:25)
| | нужно биби теги использовать
пользователь заходит на ютюб смотрит видео и просто копирует его адрес без всей этой херни
моя регулярка значит такая проверяй
<?php
$search = "/\[youtube\](?:http:\/\/)?(?:www\.)?youtube\.com\/watch\?v=([a-z0-9_-]*)[^\]]*\[\/youtube\]/siu";
$replace = '<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/$1&hl=ru_RU&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/$1&hl=ru_RU&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>';
$text = "[youtube]http://www.youtube.com/watch?v=bp_4-B9Dg1Y[/yuotube]";
$text = preg_replace($search, $replace, $text);
echo $text;
?>
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(04.09.2010 в 14:09)
| | Спасибо | |
|
|
|
|
|
|
|
для: nautilus2812
(04.09.2010 в 18:11)
| |
<?php
//код пользователя
$replace = '<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/$1&hl=ru_RU&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/$1&hl=ru_RU&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>';
//ищем ссылку
preg_match('|http://www.youtube.com/([^"]*)"|isU',$replace,$linke);
//всавляем ссылку в свой код
$text='<object width="480" height="385"><param name="movie" value="http://www.youtube.com/'.$linke[1].'"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/'.$linke[1].'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>';
//выводим
print_r($text);
?>
|
| |
|
|
|
|
|
|
|
для: VITtek
(04.09.2010 в 18:45)
| | пытаюсь через textarea передать код..ну тоесть пользователь вставляет в textarea код и этот код передаётся ..но почему то предаётся только часть кода..
усли вывести то выводится вот такой кусок
<object width=\"480\" height=\"385\"><param name=\"movie\" value=\"http://www.youtube.com/v/$1
| и всё..а где остальной код..и идёт ещё экранирование | |
|
|
|