Сделал патч к gotwo - редирект любых внешних ссылок без занесения их в базу.
http://drupal.org/node/233681
Например:
www.site1.com/go/site2.com -> http://site2.com
Сделал патч к gotwo - редирект любых внешних ссылок без занесения их в базу.
http://drupal.org/node/233681
Например:
www.site1.com/go/site2.com -> http://site2.com
Комментарии
Никакой спецразметки не надо? Очень хотелось бы автоматической замены всех внешних ссылок на редиректы без неуодоваримой настройки.
Ссылки должны быть вида: www.site1.com/go/site2.com
Вопрос к специалистам по безопасности:
Вот интересно, можно ли организовать ДОС атаку через сайт на котором разрешен редирект на произвольный адрес?
Если с сайта x.com гнать большой трафик по адресу a.com/go/b.com, то трафик будет переправлен на b.com, и получится, что сайт a.com ДОСит b.com.
То есть в целях безопасности нельзя разрешать редирект на произвольный адрес?
сайт больше убьёт трафик на путь, который будет резолвиться через БД. особенно на тех хостинг-провайдерах, где mysql настроен так себе.
Честно говоря ничего не понял.
Например если я на своем сайте a.com разрешу редирект на произвольный путь,
то есть при откытии ссылки a.com/go/адрес_другого_сайта.com будет происходить редирект на адрес_другого_сайта.com,
то это каким-либо образом может навредить моему сайту?
Мой взгляд, проще создать директорию /go/, в нее сунуть index.php, разбирающий get-запрос, и все.
Без автофильтра беспонтово
Чтоб не запаривацца можно в файле gotwo.module строку:
return preg_replace('#]*)>([^<]*)#ise', '__gotwo_filter("\1", "\2")', $text);
просто поменять на строку:
return str_replace ( "http_/%252F", "", preg_replace('#]*)>([^<]*)#ise', '__gotwo_filter("\1", "\2")', $text) );
Да! И конечно же папочку "go" зделать и положить в неё index.php и .htaccess
index.php
----------------
<?
$link = $_SERVER [ "REQUEST_URI" ];
$link = "http://" . str_replace ( "/go/", "", $link );
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=" . $link . "\">";
?>
.htaccess
----------------
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
только вот почтовые адреса глючат
Вот ещё модуль, который закрывает внешние ссылки, но другим способом: http://www.drupal.ru/node/25003
в этом модуле же перенаправляются только ссылки вида
<go href="example.ru"> text</go>
. Или я что-то не понял, и где то етсь настройка, перенаправляющая и обычного вида ссылки? В патче не увидел решения, сам патчил для этого