• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Модуль vkontakte player

Статус
В этой теме нельзя размещать новые ответы.

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
Видел на многих сайтах онлайн видео плеер vkontakte.
Есть такой плеер на длешку?
Можно его поставить?
 
Скрипт обрезает тег iframe
Решение:
Способ #1
открыть parse.class.php, найти
PHP:
'id', 'iframe', 'ilayer',
заменить на
PHP:
'id', 'ilayer',
потом найди и удали такую строку
PHP:
$source = preg_replace( "#<iframe#i", "&lt;iframe", $source );

PS: При использовании данного спрособа появляется баг Недостаточная фильтрация входящих данных

Способ #2 (Автор - Emissar)
открываем файл engine/modules/addnews.php и находим в нем следующий код(у меня он на 92 строке начинается:(
PHP:
if ($config['allow_site_wysiwyg'] == "yes"){

    $full_story = $db->safesql($parse->BB_Parse($parse->process($_POST['full_story'])));
    $short_story = $db->safesql($parse->BB_Parse($parse->process($_POST['short_story'])));
    $allow_br = 0;

} else {

    $full_story = $db->safesql($parse->BB_Parse($parse->process($_POST['full_story']), false));
    $short_story = $db->safesql($parse->BB_Parse($parse->process($_POST['short_story']), false));
    $allow_br = 1;

}

Заменяем его на следующий:

PHP:
if ($config['allow_site_wysiwyg'] == "yes")
{
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/si', $_POST['full_story'], $vk_match);
    $vk_match[1] = str_replace('\\', '', $vk_match[0]);
    $full_story = str_replace($vk_match[0], "{vk_video}", $_POST['full_story']);
    $full_story = $db->safesql($parse->BB_Parse($parse->process($full_story)));
    $full_story = str_replace("{vk_video}", $vk_match[1], $full_story);
    
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/si', $_POST['full_story'], $vk_match);
    $vk_match[1] = str_replace('\\', '', $vk_match[0]);
    $short_story = str_replace($vk_match[0], "{vk_video}", $_POST['short_story']);
    $short_story = $db->safesql($parse->BB_Parse($parse->process($short_story)));
    $short_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $short_story);
    
    $allow_br = 0;

}
else
{
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/si', $_POST['full_story'], $vk_match);
    $vk_match[1] = str_replace('\\', '', $vk_match[0]);
    $full_story = str_replace($vk_match[0], "{vk_video}", $_POST['full_story']);
    $full_story = $db->safesql($parse->BB_Parse($parse->process($full_story), false));
    $full_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $full_story);
    
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/si', $_POST['full_story'], $vk_match);
    $vk_match[1] = str_replace('\\', '', $vk_match[0]);
    $short_story = str_replace($vk_match[0], "{vk_video}", $_POST['short_story']);
    $short_story = $db->safesql($parse->BB_Parse($parse->process($short_story), false));
    $short_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $short_story);
    
    
    $allow_br = 1;

}

Далее отредактируем файл админ-панели(engine/inc/addnews.php).
Ищем в нем код(у меня на 401 строке начался:

PHP:
   $full_story = $parse->process($_POST['full_story']);
    $short_story = $parse->process($_POST['short_story']);
    $title = $parse->process($_POST['title']);

    if ($config['allow_admin_wysiwyg'] == "yes" OR $allow_br != '1'){

        $full_story = $db->safesql($parse->BB_Parse($full_story));
        $short_story = $db->safesql($parse->BB_Parse($short_story));

    } else {

        $full_story = $db->safesql($parse->BB_Parse($full_story, false));
        $short_story = $db->safesql($parse->BB_Parse($short_story, false));
    }

Заменяем его на:

PHP:
   preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/si', $_POST['full_story'], $vk_match);
    $vk_match[1] = str_replace('\\', '', $vk_match[0]);
    $full_story = str_replace($vk_match[0], "{vk_video}", $_POST['full_story']);
    $full_story = $parse->process($_POST['full_story']);
    
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/si', $_POST['full_story'], $vk_match);
    $vk_match[1] = str_replace('\\', '', $vk_match[0]);
    $short_story = str_replace($vk_match[0], "{vk_video}", $_POST['short_story']);
    $short_story = $parse->process($_POST['short_story']);
    $title = $parse->process($_POST['title']);

    if ($config['allow_admin_wysiwyg'] == "yes" OR $allow_br != '1'){

        $full_story = $db->safesql($parse->BB_Parse($full_story));
        $full_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $full_story);
        $short_story = $db->safesql($parse->BB_Parse($short_story));
        $short_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $short_story);

    } else {

        $full_story = $db->safesql($parse->BB_Parse($full_story, false));
        $full_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $full_story);
        $short_story = $db->safesql($parse->BB_Parse($short_story, false));
        $short_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $short_story);
    }
 
Скрипт обрезает тег iframe
Решение: открыть parse.class.php, найти
PHP:
'id', 'iframe', 'ilayer',
заменить на
PHP:
'id', 'ilayer',
потом найди и удали такую строку
PHP:
$source = preg_replace( "#<iframe#i", "&lt;iframe", $source );
Или же добавить bbcode, который будет данные из тега так вставлять.
не самый оптимальный вариант.

При вашем варианте любой сможет "вписать" фрейм, соответственно защиты от хаков не будет.
 
НЕ сорьтесь...
 
Есть еще 1 способ: есть сркипты специальные для контакта, которые справа внизу от видео выводят код для вставки на сайт.
Пример:
<iframe src="http://vkontakte.ru/video_ext.php?oid=6950826&id=147341831&hash=b3b7526ffd736843&hd=1" width="607" height="360" frameborder="0"></iframe>
Сам скрипт называется - vKoptimizer - vkopt.net.ru
 
Это не скрипт,это шас контакт дал такую возможность
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху