Делаем рекламу на MFS \»По стандартам программирования\»

В общем многие наверное знают что MFS — очень дырявый и плохо написанный скрипт, и это мы будем исправлять. Начнём с рекламыДля начала нам надо открыть файл advertise.php (В MFS 2.2) и после include(\’header.php\’); добавляем

    
#От прямого вызова константа
define ("SCRIN" , true);

Что мы этим делаем? Этим кодом мы объявляем константу, далее мы будем использовать её для проверки прямой у нас вызов файла или нет.

Далее мы ищем такую штуку


if($adv=='run') include('addrunblock.php');
if($adv=='spam') include('addspam.php');


И начинаем всё заменять
Для начала пишем

switch ($adv){

И далее заменяем строчки такого вида

if($adv=='run') include('addrunblock.php');


На такого вида

case 'run' : include('adv/addrunblock.php'); break;


Обязательно указываем что файл в папке adv
Так проделываем со всеми подключателями страниц, кроме того, где dyn.
В конце этого всего мы пишем

default : include('adv/adv.php'); break;
}


У меня на этом этапе получилось такое

switch($adv)
{
    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;
}

После этого мы открываем каждый файл, для которого это делали и в самом начале каждого файла прописываем

if (! defined ( 'SCRIN' )) {
    die ( "Прямой вызов файла запрещён" );
}

Далее создаём папку adv и начинаем по очереди перемещать эти файлы в папку. Все файлы — файлы, которые мы редактировали кроме advertise.php

Что мы так сделали? Первое — это сделали подключатель разных видов рекламы через switch — что правильнее, чем говнокод, которые был ранее. Кроме этого мы сделали защиту от прямого вызова, что тоже является хорошей манерой.

В итоге у меня получилось что-то такое

Статью подготовил Scrin, все спасибо в репу или на кошелёк(в предыдущей статье он есть fellow )

Автор публикации

не в сети 6 лет

Scrin

Комментарии: 1Публикации: 9Регистрация: 01-06-2012

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Отправить комментарий

wpDiscuz
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля