Шифрование аттача для DLE 9.0
Многие сталкивались с тем, что у них воровали attachment файлы под хайдами DLE, методом перебора id для скачивания. Данный хак меняет привычное [аttachment=1] на [аttachment=aec067e4feb150d01ffbc77c3afba514].
Новая версия хака для DLE 9.x:
- поддерживает старые аттачи
- не требует внесения изменений в БД
- установка в 3 действия
- подойдёт для версий ДЛЕ с 9.0
Установка:
Открываем файл engine/modules/functions.php и находим строку в функции show_attach (589):
$find_1[] = '[attachment=' . $row['id'] . ']';
$find_2[] = "#[attachment={$row['id']}:(.+?)]#i";
Ниже вставляем:
$id = $row['id'];
$row['id'] = urlencode(base64_encode($row['id']) . md5($row['id'] . DBPASS . DBUSER));
Ниже ищем:
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$id}{$area}" >{$row['name']}</a> [{$size}]</span>";
$replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$id}{$area}" >\1</a> [{$size}]</span>";
Заменяем на:
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$id}{$area}" >{$row['name']}</a> [{$size}]</span>";
$replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$id}{$area}" >\1</a> [{$size}]</span>";
Открываем файл 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" );
}