Краткий обзор качества коммерческой CMS на Perl

20 Янв
2012

В процессе занятия фрилансом мне переодически попадяются на препарирование сайты написанные на Perl. Гляда на код, я понимаю, откуда появилась дурная слава Perl в области Web разработки. Но не будем углубляться в холивар.
Вчера мне в руки попал движок X1-forge. Надо особо отметить что он активно продаётся и весьма нескромно расхваливается на сайте. Итак, что же с ним не так?

Клиент обратился с жалобой на невозможность залогиниться в админку. По словам клиента произошел сбой после удаления с сайта некоего вируса (как оказалось позже это было простым совпадением). После изучения кода, обнаруживаю что кукис после ввода логина/пароля в админку ставится с параметром:
Cookie_Exp_Date = "Sat, 31-Dec-2011 12:00:00 GMT";

Т.е. с первого января 2012 года войти в админку можно, но только на 1 запрос, ничего изменить/сохранить нельзя. Браво!
Иду в файл cgi-bin/admin/cookie.pl чтобы поправить это безобразие и вижу:
##################### 
## Site Makers X-forge (10.01) | Программный модуль интернет-системы
## © ООО "Сайт Мэйкерс". 2008. Все права защищены.
## Производится с 1998 года.
## Лицензиар: ООО "Сайт Мэйкерс" | +7 (495) 544-88-61 | office@sitemakers.ru | www.sitemakers.ru
## Сайт продукта: www.xforge.ru
#####################
## Копирование, модификация, перезапись, перемещение, удаление и вывод на печать данного файла запрещены.
## Указанные операции могут быть произведены только сотрудниками службы технической поддержки ООО "Сайт Мэйкерс".
## Читая эти строки знайте, что прямо сейчас неосторожными действиями Вы можете нанести ущерб Вашему интернет-проекту.
## Немедленно выйдите из просмотра файла БЕЗ СОХРАНЕНИЯ и в будущем не открывайте никаких файлов программных модулей.
#####################


Вроде всё как надо, если бы не одно «но» — сам код взят из свободного источника (я и сам им пользовался — потому и узнал) и вряд ли может продаваться с таким копирайтом.
Ну да ладно, правлю дату, смотрю в FireBug как ставятся кукисы — и тут вылавливаю его, бага с большой буквы.
Система после логина в админку ставит два кукиса:
1. codeadm — содержит логин пользователя (универсальный admin вполне годится)
2. loginadm — содержит текст «loginadm», подтверждая факт логина в админку
И всё! Никаких больше проверок! А зачем, ведь кукисы подделке не подлежат и им можно доверять абсолютно!
Как-то это не вяжется с
Политика комании Сайт Мэйкерс с самого начала ее образования - организация безопасных ресурсов и прежде всего безопасных Интернет-магазинов. Эта политика имеет наиважнейшее значение для владельцев ресурсов, которые понимают насколько серьезные потери могут понести активные Интернет-магазины от прорех в безопасности, которыми воспользовались злоумышленники или конкуренты.

Но и это ещё не всё. За окном 21-й век (уже более десяти лет, да), а эти профессионалы не используют режим strict! Зато, активно используют говнокод:
my $fii=0, @FIL=(), $FIS=0, $pat, $file_text="";

Вообще качество кода наводит на мысли о команде школьников. И это коммерческий продукт.

PS. Мне в руки попала версия 10. Текущей является версия 11.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх