ПредишенСледващото

Наскоро започнах разработването на много потребители на услуги WAP-см, т.е. CMS насочени към създаването на сайтове за мобилни устройства, но не изисква собственикът на познания в програмирането. Сортиране на решение с изваждането от кутията, като UCOZ само под WAP.

Естествено колебливо реши да разгледа готови решения, които търсят нещо различно от добре познатите двигатели лайна WAP-мотор, johnCMS, DCMS. Попаднах на проект за интересни и млади MobileCMS. Разбира се, след като тя беше интересно да гледам кода, още повече, че описанията са обещаващи: кода на базата на PLO HMVC, уеб администратор интерфейс, възможност за приспособяване, монтаж и управление на модули от административната област, с отворен код.

Аз трябва да кажа, че по време на това писание, учих MobileCMS v1.5.
Е Е, ние се опитваме да се облича / Localhost / и веднага виждате грешката: ". Сървърът не е настроен ionCube Loader, контакт техническа поддръжка за вашия хостинг доставчик, за да инсталирате модула"

Ние като инсталацията завърши, няма проблем. Ние се опитваме да отворите сайта и да виждате грешката:
грешка на сайта: файловата Q: Начало \ Localhost \ \ WWW \ MobileCMS \ библиотеки \ template.php изисква ioncube_loader_win_5.2.dll на ionCube PHP Loader да бъдат инсталирани от оператора на уеб сайт. Ако сте оператор на сайта моля използвайте Loader съветника за ionCube да помогне с инсталацията.
Толкова много, че е мястото, където tak..tak означава, необходими ionCube, файл "библиотеки / template.php" кодиран. След прочитане на информацията от сайта на разработчика разкри, че системата е платил лиценз (99wmr :))), която може автоматично да премахне MobileCMS авторските права на всички страници на сайта. И прочитане на информацията от закупуването на лиценз се казва: "От известно време авторските права се прибира автоматично.". Така че системата автоматично ще премахне авторските права е регистрирано в двигателя, или дори по-лошо, може да има скриптове черно-степенно разработчик, с които тя може да премахнете отдалечено авторските права (не само защото така кодирана template.php файл).

Счупете всички източници, и не намери нищо в тях, която е свързана с лиценза, както и разглеждане на кодовите шаблони footer.tpl не са намерили в тях кода, където ще може да вземе линията "Предоставено от MobileCMS", но това е все още там.

Нещо, което изкълчен моята история, отидете направо на въпроса. За да стартирате CMS трябваше да продължава да го сложите на сървър, където има ionCube и да видим какво ще се случи след старта.
1. Обърнете внимание на външния вид на 2 файла в папката / кеш / file_cache /, то
/ Кеш / file_cache / б / b81755a649ad357a44526821a64432a0
и
/ Кеш / file_cache / F / f7c69042a56ced3e29af3ce2a911d68a
Вторият файл това е просто една поредица масив с кеша на главната страница шаблон. И това е повече от един файл е много интересно. Виж, че има

Най-attentive've вероятно вече забелязали, че тук има стойност [лицензиран] => 0, и да, аз трябва да кажа, ако смените "0" до "1" на авторските права да изчезне, но не винаги, защото след известно време (10800 секунди = 3 часа), за да се възстановят отново файла и авторски права обратно на мястото си. Нека се опитаме да решим този проблем.

Метод # 2
Всичко точно същото, както в метод # 1, но вместо да определя коригират можем да променим времето за промяна на файл. Възможно е да се направи PHP-функции са сензорни () по този начин. По този начин, ние сме пускането на промяната в далечното бъдеще, казват те файла Последна промяна в 2099. Защо? Аз казах, че файлът ще бъде възстановен на всеки 3 часа? Така 03:00, този път в кеш файл на живот и ще бъде разгледано клас източник кеширане, можем да видим, че кеша се почиства на базата на прави времето на промяна на данни (време модификация) поставяне, че в бъдеще, ние ще направим файл вечно жив в кеш паметта.

върне FALSE;
>
?>
И между другото, макар template.php файл се кодира, можем да научим името на ключа, за които лицензия се кешира, тази линия "license_data", т.е. md5 ( "license_data") = b81755a649ad357a44526821a64432a0, така че можем да сложим на водача, с изключение на това, а не с MD5 низ.

функция синтактична ($ файла. $ PARAMS = масив ())
ако (! strstr ($ името на файла. ".tpl"))
$ Име = '.tpl ".;
>

foreach ($ PARAMS като $ Var => $ var_value)
$ Това -> Vars [$ Var] = $ var_value;
>

ако (strpos ($ това -> тема, "администратор") === 0)
$ Alternative_theme = 'администратор';
>
още
$ Alternative_theme = 'по подразбиране';
>

ако (file_exists .... (основното "модули /" ROUTE_MODULE "/ възгледи /" $ това - ..> тема "/" $ име))
$ Това -> template_file = корен. "Модули /. ROUTE_MODULE. "/ Прегледи /. $ Това -> тема. '/'. $ Име на файл;
>
още
ако (file_exists (ROOT. "модули /. ROUTE_MODULE. / възгледи / '. $ alternative_theme.' / '. $ име))
$ Това -> template_file = корен. "Модули /. ROUTE_MODULE. "/ Прегледи /. $ Alternative_theme. '/'. $ Име на файл;
>
още
ако (file_exists .. (основното "/ възгледи /" $ това - ..> тема "/" $ име))
$ Това -> template_file = корен. "/ Прегледи /. $ Това -> тема. '/'. $ Име на файл;
>
още
изход ( 'File ". $ Име на файл. " Това не е шаблон, или не може да бъде намерен. " );
>
>
>

извличане ($ това -> Vars, EXTR_REFS);
ob_start ();
включва $ това -> template_file;
$ PAGE_CONTENT = $ това -> add_code (ob_get_clean ());
върне $ PAGE_CONTENT;
>

функция дисплей ($ файла. $ PARAMS = масив ())
ехо $ това -> синтактичния анализ ($ името на файла $ Поколения назад.);
>

функция възлага ($ param1. $ param2 = NULL)
ако ((! $ param2 И is_array ($ param1)))
foreach ($ param1 като $ ключова стойност => $)
$ Това -> Vars [ключ $] = $ стойност;
>

ако ($ param2)
$ Това -> Vars [$ param1] = $ param2;
върне TRUE;
>

функция add_code ($ буфер)
ако (($ това! -> code_added И strpos ($ това! -> тема, "администратор") == 0))
ако (! class_exists ( "File_Cache"))
a_import ( "библиотеки / file_cache ');
>

ако (празен ($ license_data))
$ License_data = масив ( "лицензиран" => 0. "шаблон '=>' '.' License_place '=>'". "License_code '=>' ');
$ License_data = сериализирате ($ license_data);
>

$ File_cache -> настроен ($ cache_key $ license_data.);
$ License_data = unserialize ($ license_data);
>

ако (! $ license_data [ 'лицензиран'])
ако (strstr ($ буфер. $ license_data [ 'license_place']))
$ Замяна = str_replace ( '' [license_code '], $ license_data [' шаблон '] $ License_data.');
$ Замяна = str_replace ( '' $ license_data. [ 'License_place'], $ замяна);
$ Буфер = str_ireplace ($ license_data [ 'license_place'], $ замени $ буфер $ count_added ..);
ако (0 <$count_added )
$ Това -> code_added = 1;
>
>
>
още
$ Това -> code_added = 1;
>
>

Метод за премахване на авторско право, както и редактира метод add_code (). но инструкции за работа вече няма да доведат, както не е трудно да се разбере и себе си.

Актуализирани. Отражения.
Може би аз съм параноик, разбира се, и след това ще пиша по-долу са глупости, но факти не дават не мога. Ако се опитате да анализираме тази система CMS лицензиране, ще се окаже, че възложителят може да изгради по никакъв код на всички страници на сайта си, че той използва. Това, което е от полза може да бъде?

На първо място. Можете да вградите зловреден Java скрипт, а след това много голям полет на фантазията (пренасочване Кук обучени, Trojan-товарач).

1. Много контролери ще бъдат затворени, за да се подобри защитата? Защита Zend или ionCube декодер, който може да бъде отстранен в 15 секунди, с произволен брой файлове. Това се доказва от пример template.php
2. Площадките ще бъдат премахнати за нарушаване на лиценза. Да, параграф 7 от самостоятелно отстраняване на авторското право ние се прекъсне, че просто не е самата дума mobilecms всяко споразумение, нямат правна сила, предвид факта, че никъде не е взела споразумения. И е, че най-глупавият общежитие премахнете сайт (което му носи пари (хост)) само защото mobilecms разработчик вик, че някой отстранен авторското право = D. И ние не кръпка и не се променят изходния код на сценария, просто сложи CHMOD когато това е необходимо и трик;)
3. Лична заплаха за мен? Поласкан съм)) може да управлява сега, за да започнете да DDoS ми blozhek, и се задължавам да публикува тук всички декодирани версия MobileCMS на тъй 1.5.

Подкрепете проекта - споделете линка, благодаря!