Pull to refresh

PHPShop — нужен ли он нам таким?

Всем доброго времени суток. Давно хотел что-нибудь написать для Хабра, но как-то все не срасталось. Однако, сегодня понял, что пора. Данный пост навеян появившимся недавно впечатлениями от хабрапользователей – «страх и ужас» и «оптимизация», а также двухлетним опытом мучений с объектом разбирательств.

Речь пойдет о PHPShop — одном из ужаснейших творений отечественно скриптопрома, предназначенных для построения интернет-магазина. Но обо все по порядку.

Первое мое знакомство с этим «произведением» случилось в мае 2006 года, когда руководством передо мною поставило задачу отобрать 3-4 движка для интернет-магазина, из которых впоследствии оно выберет тот, на котором мы будем работать. На мою беду, я в ходе ознакомления с демо-версией PHPShop’а не смог увидеть весь тот ужас и кошмар, который вскоре меня ожидал. Собственно, руководство выбрало именно его.

Не буду дальше вас утомлять всеми перипетиями того, как все это развивалось, одним словом, ужасно. Поделюсь лишь некоторыми из многих моментов.

1. Код движка фактически нечитабелен. Понять что, откуда и почему, подчас занимает много времени, о чем один из хабражителей уже писал.

2. 95% операций, выполняемых сервером, по просьбам этого движка, вообще никак не оптимизированы.

3. Действительно, при каждой загрузке файл engine.inc.php считывает фактически всю базу данных в несколько массивов.

4. Однажды вечером зайдя в свой интернет-магазин, я обнаружил, что он не загружается. Я потратил около трех часов, чтобы найти, что виною этому является функция автообновления, которая пыталась соединиться с сервером автора скрипта, на предмет получения тех самых обновлений. Одна беда, его сервер был в дауне.

5. Отдельный разговор – дырки. К примеру, особо не перетруждаясь я смог получить доступ к нескольким базам данных, а равно и к управлению интернет-магазинами различных клиентов разработчика. Одно радует, что эта дырища на данный момент закрыта.

6. В периодически рассылаемых сборках PHPShop’а удавалось находить данные других заказчиков, что говорило о том, что иногда в рассылку попадали версии, которые делались под конкретного клиента.

7. Абсолютно некроссбраузерная админка, которая работает только в ие и фаерфоксе.

Виною всему послужил тот факт, что человек после института решил научиться программировать на PHP, а начать решил с написания собственного движка для интернет-магазина. Однако умения тогда ему не хватало, а переделывать сейчас то, что было сделано тогда, желания или возможностей уже нет. Именно поэтому советую рассматривать движок PHPShop как результат работы начинающего программиста, а не как серьезную базу для построения собственного интернет-магазина.

Если Денис будет читать этот пост, то ему мой совет, взять и основываясь на 5-ти летнем опыте разработки полностью переписать движок.

UPD. Порывшись в гугле еще, я обнаружил несколько сайтов, где я могу заново установить скрипт и получить доступ к базе данных. И еще пару, где работают умолчальные логии и пароль (root:root). И все это только благодаря разработчику.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.