Еще раз о безопасности административного интерфейса Interspire Shopping Cart

shopmaster 01 Июль, 2010 13:25 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

isc_5.5.4_russian_CD_cover__71956_zoom.jpg

Еще раз о безопасности административного интерфейса Interspire Shopping Cart

Статья о блокировке несанкционированного доступа в административный раздел Интернет-магазина была уже написана и опубликована в Блоге Шопмастера http://shopmaster.blogmasters.ru (см. статью "Наглухо закрываем доступ к админке в Interspire Shopping Cart"), когда в процессе обуждения вопросов безопасности Интернет-магазинов с практикующими серыми и черными хакерами была выработана еще одна концепция взлома административного доступа в Интернет-магазин, работающий на базе Interspire Shopping Cart.

Такое проникновение становится возможным из-за излишней интеллигентности и вежливости системы.

 (Читать дальше...)


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Магазин ISC: Новая версия, старые дыры: ОБНОВЛЯЕМСЯ!

shopmaster 12 Май, 2010 11:53 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (1)

Магазин ISC: Новая версия, старые дыры: ОБНОВЛЯЕМСЯ!

Вышла новая версия магазина Interspire Shopping Cart под номером 5.0.6.

По всем параметрам этот апдейт подразумевался как сервисный, то есть как вещь обычная и проходящая, ничего особенного.

Но есть некоторые моменты, которые выделяют релиз 5.0.6 из ряда других сервисных релизов: разработчики основательно почистили код, и изменения, пусть и небольшие, коснулись практически всех файлов.

 (Читать дальше...)


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Транслитерация в магазине Interspire Shopping

shopmaster 08 Ноябрь, 2009 12:31 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

 

При включении ЧПУ, или человекопонятных урлов в магазине Interspire Shopping Cart, символы русского языка передаются в командную строку браузера символами UTF.

На самом деле, ничего страшного - сейчас и Google, и Yandex, и все прочие поисковики научились нормально индексировать такие надписи, и никаких проблем не возникает.

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

 (Читать дальше...)


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Импорт в шоппинг карт

shopmaster 29 Август, 2009 21:48 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

Комментарии к процедуре импорта в Interspire Shopping Cart.

Импорт возможен из баз магазинов целиком: CubeCart, osCommerce, X-Cart и Zen-Cart

Это оставим.

В общем случае импорт осуществляется из csv файла. Экспорта нет.

CSV файл должен удовлетворять некоторым специфическим условиям.

Во-первых, это западный вариант импорта, следовательно разделитесь - запятая, поля выделены кавычками (впрочем, можно указать нужные вам на первом шаге импорта). Сам файл должен быть сохранён в кодировке utf-8, иначе с русским будет каша.

С этим всё понятно. Вопрос, собственно, в том, что должно стоять в полях. Вот это сейчас и опишу.

Product Name - название товара, должно быть уникальным. Наверное, это неправильно, и уникальность должна определяться SKU, но что есть, то есть. Все неуникальные названия при импорте будут покоцаны.

Category - категория. Указывается словами, автоматически вставляется в список категорий при импорте. Может быть категория с подкатегориями в одном поле. Мне было удобнее разнести по разным колонкам, в первой - корневые категории, во второй - дочерние, в теретьей - следующий уровень. Куда что импортировать настраивается в админке при импорте, предусмотрено 3 уровня категорий.

Brand Name - бренды, то есть производители. Указываются словами, при импорте попадают в список производителей.

Product Code/SKU - учётный ассортиментный номер продукта.

Product Description - описание, указывается словами.

Product Availability - количество товара в магазине, должна стоять цифра (сколько единиц у вас на складе).

Price -  сценами в магазине реализована некая зависимость, которую здесь опускаю, и ставим конкретные цифры. В поле Price должна стоять цена, которая будет видна посетителям в качестве цены покупки.

Cost Price - закупочная цена, пользователям не показывается.

Sale Price - цена распродажи, хотите выставить на распродажу - укажите здесь цену.

Retail Price - это как бы "обычная" цена где-то ещё. Посетителям показывается как перечёркнутая, сразу над тем значением, которое раньше указано в поле "Price".

Current Stock Level - видимо, должно быть меньше чем Product Availability, то есть покажет, сколько единиц продано.

Taxable Product? - определяет, брать или нет с покупателя налог дополнительно к указанной в магазине цене. Если цена в магазине указана окончательная, ставим здесь "0", и при оформлении покупки наценки делаться не будет.

Low Stock Level - при каком остате выдавать предупреждение, что товар заканчивается.

Product Warranty - гарантия на продукт, пока не разобрался, зачем это здесь.

Fixed Shipping Cost - фиксированная цена доставки. В Interspire Shopping Cart этот параметр устанавливается на каждый продукт в отдельности, соответственно, если вы доставляете что-то по фиксированной цене, то пишите сюда эту цену. Нет - оставляем поле пустым.

Product Weight - вес продукта, как обычно, для использования модулями доставки.

Product Width - ширина.

Porduct Height - высота.

Product Depth - глубина.

Page Title - заголовок страницы. Можно придумать специфический для данного товара, или оставить пустым, тогда будет использован дефолтный.

META Keywords - клбучевые слова для блока метаинформации, можно оставить пустым (в этом случае используются дефолтные для магазина).

META Description - описание для блока метаинформации, можно оставить пустым (в этом случае используется дефолтное для магазина).

Product Image - картинка товара. В этом поле нужно указать урл картинки в сети, начитная с http://www..., либо загрузить картинку по фтп в папку product_images/import/  Превьюшка генерится автоматически. Если картинки нет, оставляем поле пустым, и в магазине будет показана дефолтная заставка отсутствующей книги.

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

Downloadable Product File - здесь указывается файл, который покупатели будут загружать, делается это аналогично тому, как перед этим поступали с картинками - указываем урл, или подгружаем по фтп в папку product_files/import/

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

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

Vendor - продавец. В этом поле ставим ID продавца по базе, если будет что-то ещё, то товар к продавцу не привяжется.

Последняя позиции, Vendor, присутствует только в специальной версии шопа, дающей возможность организации продажи посетителями (зарегистрированными, естественно).

Далее всё просто - грузим через административный интерфейс.

Загрузка 10К тестовых позиций заняла минуты 3.

Обнаружу неточности - внесу сюда исправления.

Если у кого есть комментарии - милости прошу. 


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Импорт товаров с одинаковыми названиями в Interspire Shopping Cart

shopmaster 29 Август, 2009 21:45 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

Импорт товаров с одинаковыми названиями в Interspire Shopping Cart

В Interspire Shopping Cart очень качественный импорт. Но с одной странностью - название товара считается уникальным, и если в импортируемом файле присутствуют товары с одинаковыми названиями, то из них всех будет импортирована только одна запись.

Этот подход тем более странен в версии Vendor Edition, поскольку очевидно, что у разных продавцов может быть один и тот же товар с одними и теми же названиями, но - возможно - с разной ценой. Все они имеют право его продавать. Правда, в админском интерфейсе можно вручную ввести продукты с идентичными названиями, но вот через импорт - никак.

Моё предложение - считать уникальным не название продукта, а его инвентарный номер, именуемый SKU.

Для того, чтобы при импорте уникальным считался SKU, а не название товара, необходимо изменить 2 строки в файле

/admin/includes/classes/class.batch.importer.php:

1. в строке 719, меняем "prodname" на "prodcode".
2. в строке 870 дважды (2 раза) меняем 'prodname' на 'prodcode'.

Всё, теперь уникальными будут считаться SKU, и товары с одинаковыми названиями импортируются нормально.

Дальше на месте разработчиков я бы подумал о подстановке в эти места дополнительной переменной, тогда пользователь мог бы сам определять, какое поле в импортируемом файле считать уникальным.

Прикол состоит в том, что когда я описал всё это на форуме разработчиков, они закрыли мне возможность публиковаться на их форуме :)

Интересные люди! 


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Единичная ссылка в градуснике

shopmaster 29 Август, 2009 21:44 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

 

Градусник (строка указания разделов, к которым относится товар, обычно стоящая сразу под шапкой) в Intersipre Shopping Cart даёт ссылки на все разделы, к которым относится товар. То есть, если этот товар представлен в 3 разделах, в градуснике они будут перечислены один под другим. Если в 5 разделах - все 5 разделов (с полным путем до товара) будут представлены в градуснике.

Это не всегда удобно и целесообразно, хотя бы потому, что занимает много места.

Если у вас большое количество товаров представлены в нескольких разделах, то, возможно, выгоднее в градуснике давать ссылку только на один раздел; указывать непосредственно тот путь и тот раздел, по которому посетитель пришёл к этому товару.

Сделать это несложно.

Открываем в текстовом редакторе файл

includes\classes\class.product.php

и ищем очень похожие внешне 4 строки - 459, 460, 461 и 462. Выглядят они так:

  $GLOBALS['CatTrailName'] = isc_html_escape($this->GetProductName());
  $GLOBALS['BreadcrumbItems'] .= $GLOBALS['ISC_CLASS_TEMPLATE']->GetSnippet("BreadcrumbItemCurrent");
  $GLOBALS['BreadCrumbs'] .= $GLOBALS['ISC_CLASS_TEMPLATE']->GetSnippet("ProductBreadCrumb");
  $GLOBALS['FindByCategory'] .= $GLOBALS['ISC_CLASS_TEMPLATE']->GetSnippet("ProductFindByCategory");

В последних 2 строках нужно убрать запятую, стоящую перед знаком равенства, то есть получаем:

  $GLOBALS['CatTrailName'] = isc_html_escape($this->GetProductName());
  $GLOBALS['BreadcrumbItems'] .= $GLOBALS['ISC_CLASS_TEMPLATE']->GetSnippet("BreadcrumbItemCurrent");
  $GLOBALS['BreadCrumbs'] = $GLOBALS['ISC_CLASS_TEMPLATE']->GetSnippet("ProductBreadCrumb");
  $GLOBALS['FindByCategory'] = $GLOBALS['ISC_CLASS_TEMPLATE']->GetSnippet("ProductFindByCategory");

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


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Interspire Shopping Cart 5.0.2

shopmaster 29 Август, 2009 21:37 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

Компания Interspire выпустила новый релиз, а затем и апдейт, или фикс, своей системы Interspire Shopping Cart.

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

Эту функцию можно использовать и в других приложениях. Скажем, на западе очень любят объявлять продажу книг начиная с какой-то конкретной даты. У нас и в офлайне и в онлайне дистрибуторы этого не умеют. Но вот, используя эту функцию, можно сделать так, чтобы покупатель при заказе сознательно указывал дату поставки после официального начала продаж. Что-то типа предзаказа. Но тоже можно интересно обыграть.

Новый функционал работы со скидками вообще не поддается простому упоминанию - там столько всего наворочено, что надо садиться, и разбираться. Назначить можно любые скидки на все что угодно, для кого угодно и по какому угодно случаю, в том числе с ограничением по времени, по количеству использования, и т.д., и т.п. То есть назначить на конкретный товар, на группу товаров, но группу пользователей, на количество приобретенного товара или его сумму, с использованием, скажем, 5 или 6 раз, не больше...

В целом, 5-я версия интерспайровской корзины значительно возмужала и окрепла.

Но и стоить стала еще больше - в версии торгового молла уже под 4 штуки баксов.

Полный список изменений находится на офсайте: изменения в 5-й версии.

А это - изменения в виде видеоролика


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


SEO модуль канонических ссылок для магазина Interspire Shopping Cart

shopmaster 29 Август, 2009 21:34 Interspire Shopping Cart, aka ISC Постоянная ссылка Трекбэки (0)

SEO модуль канонических ссылок для магазина Interspire Shopping Cart

В стандартной комплекатции магазин Interspire Shopping Cart не имеет встроенного тега каноническил УРЛов, однако можно установить соответствующий модуль, разработанный для того, чтобы предоставить шопмастерам немного больший контроль над тем, как поисковые системы индексируют их магазины. Этот модуль позволит предотвратить дублирование и размножение одинаковых по сути страниц, однако, естественно, не может сам по себе служить серебрянной пулей для того, чтобы завалить этих монстров и попасть в верхние строчки рейтингов.

Модуль SEO индексации для магазина Interspire Shopping Cart позволяет выводить на страницах тег канонических УРЛов и мета-теги, управляющие индексацией страниц роботами поисковых систем - как вы помните по предыдущей публикации в блоге Шопмастера http://shopmaster.blogamsters.ru, эти теги встраиваются в область <head> в HTML разметке страниц магазина. Все эти встраиваемые элементы разработаны с тем, чтобы помочь поисковым системам определить наиболее значимый контент, наилучшим образом соответствующий параметрам индексации, чтобы на основании этой информации они могли корректно проиндексировать страницы магазина и избежать многократного дублирования одних и тех же страниц.

В панели настройки модуля имеется возможность определить, на каких страницах магазина и в каких разделах выводить канонические УРЛы и предназначенные для роботов поисковых систем мета-теги. (Читать дальше...)


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator


Powered by BlogMasters.Ru