Магазин ISC: Новая версия, старые дыры: ОБНОВЛЯЕМСЯ!
Вышла новая версия магазина Interspire Shopping Cart под номером 5.0.6.
По всем параметрам этот апдейт подразумевался как сервисный, то есть как вещь обычная и проходящая, ничего особенного.
Но есть некоторые моменты, которые выделяют релиз 5.0.6 из ряда других сервисных релизов: разработчики основательно почистили код, и изменения, пусть и небольшие, коснулись практически всех файлов.
Во-первых, много изменений затронули работу с налогами на товары, а через это - все процедуры обработки товаров в магазине.
Во-вторых, в новой версии упорядочены переменные, и во всез файлах они стали кто частными, кто общими, но не осталось "брошенных" как раньше. Соответственно, весь код от этого улучшился.
В-третьих, изменились системные библиотеки, отвечающие за работу с шаблонами. Что было сразу же отмечено пользователями - сразу стали поступать отзывы о гораздо более четкой работе системы шаблонирования.
Ну, и в-четвертых, в рамках усилий по приведению в порядок кода во всех продуктах коммпании Interspire, во всех php файлах удалили закрывающие теги.
По началу такой подход озадачивает, но оказывается, что это разумное, правильное, и грамотное решение.
Существует необязательное соглашение разработчиков о кодировании, в котором в частности говорится:
B.2.1. Общее
Для файлов, содержащих только PHP-код, закрывающийся тег ("?>") не разрешен. Он не требуется синтаксисом PHP. Это предотвращает от случайного включения в вывод конечных пробелов.
То есть получается, разработчики Interspire поступили совершенно верно, и в силу перечисленных выше измений в коде, обновление, imho, если не обязательно, то крайне желательно.
Теперь ложка дегтя, или о багах системы.
Официально новая версия достаточно чистая. Сейчас из явных багов обсуждается только нестабильная работа одной из систем доставки товаров, не применимой к условиям России и СНГ, так что на ее счет даже заморачиваться не будем.
Но совершенно неожиданно открылся очень неприятный баг, который, возможно, и не баг вовсе, а фича. Но такая фича нам ни к чему.
Речь вот о чем: Interspire Shopping Cart разрешает прямой доступ к файлам с расширением .ini, в частности - к языковым файлам.
Думаю, разработчики не предполагали, что это может кого-то не устроить, и просто об этом не задумывались.
Однако в условиях других - не англоговорящих - стран, и России в частности, наличие такой дыры мне лично совсем не нравится. Почему? Очень просто - компания платит за локализацию болшие деньги, а потом любой пионер беспрепятственно открывает языковые файлы, копирует на свой компьютер, и запускает в обращение в Интернет.
Во-первых - обидно: деньги заплатили немалые, а кто-то стырил, и паразитирует. Во-вторых, в определенных случаях это может играть на руку конкурентам: они работают в той же области, а в языковых файлах всегда содержится некоторая специфика, относящаяся к их нише. Поэтому заполучив языковые файлы магазина, можно проще влезть в бизнес в этой нише.
В общем, мне эта ситуация не нравится. Хотя бы потому, что я против любой нечестности.
В связи с этим, для всех, кого волнует проблема этой дыры, вот решение.
На общесайтовом уровне по некоторым причинам закрыть языковые файлы пока не получилось. Поэтому создаем файл .htaccess следующего содержания:
<FilesMatch .ini>
Order Deny,Allow
Allow from 127.0.0.1
Deny From All
</FilesMatch>
Размещаем этот файл в папке /language/ru или /language. Это позволит открывать языковые файлы только самому магазину, и закроет их выдачу "наружу".
Если вас по какой-то причине смущает необходимость создавать и редактировать системный файл .htaccess, можете забрать готовый архив с этим файлом по этой ссылке на Блоге Шопмастера http://shopmaster.blogmasters.ru Файл одинаковый для версий 5.0.5 и 5.0.6, можете смело его использовать.
Для меня описанное выше было главным, на что по-моему нужно обратить внимание в новом релизе Interspire Shopping Cart за номером 5.0.6. Если вас интересует полный список изменений (занимающий очень много места, особенно список измененных файлов), то ознакомиться с ним можно по этой ссылке на официальном форуме разработчиков магазина Interspire Shopping Cart.
За сим разрешите откланяться.
Заходите на мой блог: http://shopmaster.blogmasters.ru, оставляйте вопросы и комментарии, или пишите мне по адресу shopmaster@list.ru
Всем успехов,
Шопмастер


























