ФорумПрограммированиеPHP для идиотов → Возможность добавлять видео в пост

Возможность добавлять видео в пост

  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 7:39

    Итак, хотим пользователям дать такую возможность вставить в пост видео с ютуба, рутуба и еще какого-нибуть туба. Учитывая, что многие другие вещи делаются разрешенными тегами, логично сделать тег <video></video>.

    Дальше возникают вопросы: что должно быть внутри тега видео? Если код плеера, то, мне кажется, говно вопрос впихнуть туда вместо видео какую-нибуть вредоносную гадость.

    Ставить туда ссылку на видео и парсить? Но у всех тубов ссылки выглядят по-разному да и параметры могут быть разные.

    Еще хотелось бы услышать на счет безопасности в данном вопросе. Как и где нужно защищаться?

    P.S. Во флеше вообще нихрена не шарю =)
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 7:44, спустя 5 минут 20 секунд

    вот тебе рутубе и ютубе
    // video
    $text = preg_replace('/(.*)<video>http:\/\/youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)<\/video>(.*)/Usi', '$1<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/$2&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$2&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object>$3', $text);
    $text = preg_replace('/(.*)<video>http:\/\/youtube\.com\/watch\?v=([a-zA-Z0-9_\-]+)&feature=related<\/video>(.*)/Usi', '$1<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/$2&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$2&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object>$3', $text);
    $text = preg_replace('/(.*)<video>http:\/\/[a-z]+\.youtube\.com\/watch\?v=([a-zA-Z0-9_\-l]+)<\/video>(.*)/Usi', '$1<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/$2&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$2&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object>$3', $text);
    $text = preg_replace('/(.*)<video>http:\/\/[a-z]+\.youtube\.com\/watch\?v=([a-zA-Z0-9_\-l]+)&feature=related<\/video>(.*)/Usi', '$1<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/$2&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$2&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"></embed></object>$3', $text);

    $text = preg_replace('/(.*)<video>http:\/\/rutube\.ru\/tracks\/[0-9]+\.html\?v=([a-z0-9]+)<\/video>(.*)/Usi', '$1<object width="400" height="353"><param name="movie" value="http://video.rutube.ru/$2"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.rutube.ru/$2" type="application/x-shockwave-flash" wmode="window" width="400" height="353" allowFullScreen="true" ></embed></object>$3', $text);
    $text = preg_replace('/(.*)<video>http:\/\/[a-z]+\.rutube\.ru\/tracks\/[0-9]+\.html\?v=([a-z0-9]+)<\/video>(.*)/Usi', '$1<object width="400" height="353"><param name="movie" value="http://video.rutube.ru/$2"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.rutube.ru/$2" type="application/x-shockwave-flash" wmode="window" width="400" height="353" allowFullScreen="true" ></embed></object>$3', $text);

    $text = preg_replace('/(.*)<video>http:\/\/tube\.a42\.ru\/home\/show\/([0-9]+)<\/video>(.*)/Usi', '$1<object width="425" height="355"><param name="movie" value="http://tube.a42.ru/video/$2"></param><param name="wmode" value="transparent"></param><embed src="http://tube.a42.ru/video/$2" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>$3', $text);
    $text = preg_replace('/(.*)<video>http:\/\/www\.tube\.a42\.ru\/home\/show\/([0-9]+)<\/video>(.*)/Usi', '$1<object width="425" height="355"><param name="movie" value="http://tube.a42.ru/video/$2"></param><param name="wmode" value="transparent"></param><embed src="http://tube.a42.ru/video/$2" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>$3', $text);
    все умрут, а я изумруд
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 8:00, спустя 15 минут 18 секунд

    md5, спасибо, я сам примерно такое нафигачил, только у меня большинство параметров не конкретно прописаны, а заменяются на (\S+).
    Вопрос в том, если пользователь возьмет и поставит где-нибудь… ну, к примеру, не width="425" height="355" а width="400" height="300" или www не укажет, и все, не сработает. (\S+) от этого спасает, но не будет ли это дырой в безопасности?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 8:03, спустя 3 минуты 38 секунд

    какой тебе видтх?
    на ютубах видтх и неигхт одинаковые, там только uid ролика передается и все
    <video>http://youtube.com/watch?v=751v4RxOTM8
    </video>
    вот
    все умрут, а я изумруд
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 8:05, спустя 1 минуту 50 секунд

    Все, дошло, спасибо)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 10:11, спустя 2 часа 6 минут 13 секунд

    проще один айди. нахуй всю ссылку то?
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 10:12, спустя 33 секунды

    а еще до кучи сделайте <v>uid</v>

    чтобы не писать злоебучие 10 символов
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 10:13, спустя 1 минуту 25 секунд


    проще один айди. нахуй всю ссылку то?

    А с какого именно сайта видео узнавать телепатически?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 10:54, спустя 40 минут 10 секунд


    проще один айди. нахуй всю ссылку то?
    да что ты? :)
    сходи на youtube и посмотри, какую там ссылку на видео дают, думаешь кому-то надо вырезать ID ролика или проще скопировать всю ссылку?
    +


    проще один айди. нахуй всю ссылку то?

    А с какого именно сайта видео узнавать телепатически?
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 11:08, спустя 14 минут 18 секунд

    эххх …. тупые людишки "УХАХАХАХА ГОРЕТЬ ИМ В АДУ"!!!!!!! :)))

    ну можно и ссылку, но сокращение до [v]link[/v] однозначно не помешает :)
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 11:16, спустя 7 минут 58 секунд

    Пом., п.ч. эт. оч. не удоб., всяк. ебуч. сокр.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 11:31, спустя 15 минут 1 секунду

    бля, вот смотри

    если бы когда хочешь жирным написать пришлось писать <strong>жирный текст</strong>, тебя бы это не бесило ? хотя это все похуй если у них на сайте есть вв редактор или тп, который будет вставлять эти теги сам :)
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 11:55, спустя 24 минуты 27 секунд

    если бы когда хочешь жирным написать пришлось писать <strong>жирный текст</strong>, тебя бы это не бесило ?

    Нет.

    хотя это все похуй если у них на сайте есть вв редактор или тп, который будет вставлять эти теги сам :)

    Хуй, ручками.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 24 ноября 2008 г. 12:18, спустя 22 минуты 32 секунды

    это пиздец, я бы ушел с вашего сайта)

    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 12:25, спустя 6 минут 48 секунд

    Какой ты ленивый)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!