+ поддерживает старые аттачи
+ не требует внесения изменений в БД
+ установка в 2 действия
+ подойдёт для версий ДЛЕ с 9.0
Итак:
Открываем файл
engine/modules/functions.php
Находим строку в функции show_attach (589)
$find_1[] = '[attachment=' . $row['id'] . ']';
$find_2[] = "#\[attachment={$row['id']}:(.+?)\]#i";
$find_2[] = "#\[attachment={$row['id']}:(.+?)\]#i";
Ниже вставляем
$row['id'] = urlencode(base64_encode($row['id']) . md5($row['id'] . DBPASS . DBUSER));
Открываем файл
engine/download.php
Находим строку (95)
$id = intval ( $_REQUEST['id'] );
И заменяем ее на
$id = intval(base64_decode(substr($_REQUEST['id'], 0, -32)));
if (md5($id . DBPASS . DBUSER) != substr($_REQUEST['id'], -32))
{
die ( "Access denied" );
}
Вот и всё !
Автор: kaliostro