В общем многие наверное знают что MFS — очень дырявый и плохо написанный скрипт, и это мы будем исправлять. Начнём с рекламыДля начала нам надо открыть файл advertise.php (В MFS 2.2) и после include(\’header.php\’); добавляем
#От прямого вызова константа
define ("SCRIN" , true);
Что мы этим делаем? Этим кодом мы объявляем константу, далее мы будем использовать её для проверки прямой у нас вызов файла или нет.
Далее мы ищем такую штуку
if($adv=='run') include('addrunblock.php');
if($adv=='spam') include('addspam.php');
И начинаем всё заменять
Для начала пишем
И далее заменяем строчки такого вида
На такого вида
Обязательно указываем что файл в папке adv
Так проделываем со всеми подключателями страниц, кроме того, где dyn.
В конце этого всего мы пишем
}
У меня на этом этапе получилось такое
{
case('dyn'): include('adv.php'); break;
case('cat'): include('addcatads.php'); break;
case('frame'): include('addframeads.php'); break;
case('dynb'): include('advb.php'); break;
case('stat'):include('addstatlink.php'); break;
case('banner'): include('addbanner.php'); break;
case('minibanner'): include('addminibanner.php'); break;
case('chat'): include('addchatads.php'); break;
case('dyn_mini'): include('adv_mini.php'); break;
case('psevdo'): include('addpsevdo.php'); break;
case('text'): include('addtextads.php'); break;
case('top'): include('addtoblock.php'); break;
case('mail'): include('addmails.php'); break;
case('auto'): include('advauto.php'); break;
case('ygolok'): include('addygolok.php'); break;
case('serp'): include('addserp.php'); break;
case('massmails'): include('addspam.php'); break;
case('topbanner'): include('addtopbanner.php'); break;
default: include('adv.php'); break;
}
После этого мы открываем каждый файл, для которого это делали и в самом начале каждого файла прописываем
die ( "Прямой вызов файла запрещён" );
}
Далее создаём папку adv и начинаем по очереди перемещать эти файлы в папку. Все файлы — файлы, которые мы редактировали кроме advertise.php
Что мы так сделали? Первое — это сделали подключатель разных видов рекламы через switch — что правильнее, чем говнокод, которые был ранее. Кроме этого мы сделали защиту от прямого вызова, что тоже является хорошей манерой.
В итоге у меня получилось что-то такое
Статью подготовил Scrin, все спасибо в репу или на кошелёк(в предыдущей статье он есть )
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.