Рекомендуемые сообщения

Rammstein91    5

Модуль «Лучшие отзывы о магазине и товарах» для OpenCart 1.5.x ~ 2.x.x


Модуль «Лучшие отзывы о магазине и товарах» для OpenCart 1.5.x ~ 2.x.x

 

Модуль для вывода отзывов с возможностью создания анкеты для оценки уровня удовлетворенности клиентов, которая значительно повышает доверие со стороны новых потенциальных клиентов. Модуль добавляет новую страницу с отзывами (также добавляется новая схема и ЧПУ ссылка) и при желании заменяет стандартную форму вывода и написания отзывов о товарах. Отзывы могут быть отображены на любой странице сайта как статично, так и со слайдером с поддержкой touch. Возможность изменять графические настройки модуля позволяет применить его к оформлению Вашего сайта! Есть возможность интеграции с модулем отзывов из ВК.

Использует VQMod (VQMod отвечает за добавление ссылок: на страницу отзывов в Футере, в админке на модуль в разделе «Каталог»). Требуется ionCube Loader 5 и выше.

 

ВОЗМОЖНОСТИ:

    - Создание неограниченного количества вопросов/ответов/ответов на сайте для вывода на странице добавления нового отзыва. Ответы могут быть в виде выпадающего списка или радиокнопками. Установка иконок для вывода в отзывах, рядом со значением поля "Ответ на сайте".

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

    - Замена стандартной формы вывода и добавления отзывов о товарах.

    - Голосование за худший/лучший отзыв.

    - Вывод на странице отзывов суммарной информации о компании на основании как минимум 2 отзывов.

    - Модерирование отзывов и добавление ответа от администрации.

    - Интеграция с модулем отзывов из ВК, что позволяет комбинировать отзывы написанные в группе ВК и отзывы написанные на сайте.

    - Публикация комментариев на сайт после одобрения Администратором.

    - Оповещение Администратора о новых комментариях на почту (почта должна быть установлена в общих настройках магазина).

    - 7 встроенных цветовых тем (в отзывах меняются цвета ссылок, кнопок, рамок, пагинации, выпадающих списков, радиокнопок, чекбоксов).

    - Загрузка аватара пользователей и закрепление за ним последнее загруженное изображение.

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

    - Вывод отзывов на странице отзывов по полезности или по дате добавления.

    - Добавление отзыва в режиме Инкогнито (если покупатель залогинен в магазине на момент публикации отзыва, то в админке можно посмотреть кто из покупателей оставил отзыв).

 

УСТАНОВКА:

    1. Распаковать архив.

    2. Cодержимое папки «upload» скопировать в корень сайта.

<<Для Opencart 2>>

    2. В зависимости включена ли поддержка FTP в настройках магазина («Система» - «Настройки» - «Ваш магазин» - вкладка «FTP») есть два способа установки:

        2.1 С FTP: В админке магазина в разделе «Модули» - «Установка расширений» загрузите архив «shopproductreviews_2_0.ocmod.zip».

        2.2 Без FTP: Cодержимое папки «upload» из архива «shopproductreviews_2_0.ocmod.zip» скопировать в корень сайта. Затем в админке магазина в разделе «Модули» - «Установка расширений» загрузите файл «shopproductreviews.ocmod.xml».

<<Для Opencart 2>>

    3. Выполнить установку для модуля «DoTheSite.ru | Лучшие отзывы о магазине и товарах» в пункте «Дополнения» – «Модули».

    4. Отправить запрос разработчикам модуля на получение лицензии (см. пункт «ПОЛУЧЕНИЕ ЛИЦЕНЗИИ»). Ввести полученные лицензионные данные в соответствующие поля на вкладке «О модуле» и нажать кнопку «Применить».

    5. Провести настройку модуля в соответствии с потребностями. Сохранить.

    6. Перейти на страницу с отзывами http://www.site.ru/index.php?route=product/shopproductreviews (вместо site.ru - Ваше доменное имя).

    7. По желанию добавить модули для отображения отзывов на страницах сайта.

    8. Если Вы хотите заменить стандартную форму написания отзыва о товаре, то необходимо добавить дополнительный модуль на Схему - "Product" и в Расположении "Содержание подвала". Также укажите CSS-селектор для блока с вкладкой отзывов (по умолчанию "#tab-review").

 

ДЕМО:

Админка демо-сайта:

    http://dothesite.ru/opencart-module/admin

    http://dothesite.ru/opencart-module/2/admin/

            Логин: demoVR

            Пароль: demoVR

Демо-сайт:

О магазине: 

    http://dothesite.ru/opencart-module

    http://dothesite.ru/opencart-module/2/shop_reviews

О товаре (вкладка Отзывы): 

    http://dothesite.ru/opencart-module/

    http://dothesite.ru/opencart-module/2/desktops/htc-touch-hd

 

ЛИЦЕНЗИЯ:

    1. Запрещается передавать файлы модуля третьим лицам, как на платной, так и на безвозмездной основе.

    2. Покупатель имеет право использовать приобретенный модуль только для установки на собственный интернет-магазин.

    3. Модуль реализуется по принципу "1 покупатель = 1 домен". Срок действия лицензии не ограничен.

    4. Если покупатель будет уличен в нарушении правил описанных выше – он автоматически лишается технической поддержки.

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

    6. За нарушение пункта 1 данных правил, покупатель будет забанен на форуме и на сайте dothesite.ru. Читайте Правила форума.

 

ПОЛУЧЕНИЕ ЛИЦЕНЗИИ:

Для получения лицензии вам необходимо связаться с разработчиками удобным для Вас способом. В обращении вы должны указать на каком сайте, когда и каким пользователем была осуществлена покупка модуля и имя домена, на котором будет работать модуль. Контакты для получения лицензии:

E-mail:

get_license@dothesite.ru

rammstein_91@bk.ru

ctasy91@mail.ru

 

ТЕХНИЧЕСКАЯ ПОДДЕРЖКА:

Техническая поддержка модуля «Лучшие отзывы о магазине и товарах» доступна только пользователям, числящимся в списке покупателей.

 

РАЗРАБОТКА МОДУЛЯ:

Андрей Лежнетев - http://dothesite.ru

02_settings.jpg

05_comments_admin.jpg

07_review_page.jpg


  • Автор
  • Добавлен
    01.06.2016
  • Категория
  • Работает на OpenCart
  • Системные требования
  • Работает на ocStore
  • Сайт разработчика
  • Работает на OpenCart.Pro, ocShop
  • Старая цена
  • Метод активации
  • Ioncube Loader

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
berrber    12

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

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

Я уже вижу - никак

Пробой безопасности полный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Я уже вижу - никак

Пробой безопасности полный

 

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

 

Валидация и загрузка сделана по шаблону стандартной загрузки в Opencart. Валидация по разрешенным в настройках типам загружаемых файлов, по MIME типам и проверка на загрузку php файлов. Вопрос про безопасность с разрешением загрузки фоток посетителями волновал очень сильно, но вопрос безопасности сейчас в приоритете.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

 Валидация по разрешенным в настройках типам загружаемых файлов, по MIME типам и проверка на загрузку php файлов.

Это защита от "детей" :)

1 ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

Вообще какой бы безопасный код у модуля не был. Разрешенная пользователями загрузка файлов на сервер может закончится плачевно (~ в 50%). Первый вектор атаки хакеров обычно идет через разрешенную загрузку и поломать могут не через модуль, а через хостера ;) Вы уверены что пользователи которые установят модуль на хостинг, знают о пробоях хостера и квалификации админов хостинга ? Если админы не закрыли все дырки, то вероятность успеха хорошего хакера более 50%

А по теории вероятности - пользователь установивший модуль будет находиться под "дамокловым мечем"

Поэтому код модуля должен учитывать всё, и поэтому должны быть свои подключенные библиотеки (расширения) обработки изображений, как это сделано у крутых сайтов. Стандартные функции php работы с изображениями почти все пробойны

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
berrber    12

Посмотрите эту ветку, там обсуждалась данная проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Посмотрите эту ветку, там обсуждалась данная проблема.

 

Спасибо большое, я смотрю у Вас тот же краш-тестер)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

Спасибо большое, я смотрю у Вас тот же краш-тестер)))

 

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

Хорошо что не воспринимаете в "штыки".  Значит адекватные разработчики

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

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

Хорошо что не воспринимаете в "штыки".  Значит адекватные разработчики

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

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

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

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

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

Для выполнения задач такого класса, надо как минимум сделать рефакторинг кода и архитектуры каким нибудь специалистом по безопасности (в просто народе хакером). Поэтому я советовал бы пока убрать загрузку изображений (изображение с php кодом внутри я вам на сервер смог загрузить и получить это изображение с бомбой внутри, а вызвать его дело уже только  техники и времени) и проработать уязвимости XSS, как минимум разного рода экранированием и чисткой  и не только фронт, так как подсовывают XSS и для админов с целью  получить ключа шифрования, токены и куки, для последующего взлома

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

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

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

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

 

От XSS уже почистил, а по поводу загрузки изображений - была такая идея (может быть принципиально нет отличий, но всё же): убрать загрузку через input type="file", а сделать текстовое поле, в которое человек будет писать url до картинки и уже это поле проверять на валидность, если ок, то делать ресайз и эту уменьшенную картинку сохранять на сервере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

От XSS уже почистил, а по поводу загрузки изображений - была такая идея (может быть принципиально нет отличий, но всё же): убрать загрузку через input type="file", а сделать текстовое поле, в которое человек будет писать url до картинки и уже это поле проверять на валидность, если ок, то делать ресайз и эту уменьшенную картинку сохранять на сервере.

Вот - уже лучше, и плюс кодировать путь изображения отдавая изображение через скрипт в <img src="script.php?image_id=..." (как каптча в opencart)

Или лучший вариант - хранить изображения вообще в БД (правда большой минус - большая база будет)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Вот - уже лучше, и плюс кодировать путь изображения отдавая изображение через скрипт в <img src="script.php?image_id=..." (как каптча в opencart)

Или лучший вариант - хранить изображения вообще в БД (правда большой минус - большая база будет)

 

В базе в BLOB или как base64? Если хранить там уже resize изображения, то я не вижу в этом проблемы, картиночки-то всего 50 на 50 пикселей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

В базе в BLOB или как base64? Если хранить там уже resize изображения, то я не вижу в этом проблемы, картиночки-то всего 50 на 50 пикселей.

Да так. Как видите я вам сделал бесплатный аудит безопасности, который кстати стоит не мало ;)

И хорошо что вы адекватный разработчик и все понимаете с полуслова

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Да так. Как видите я вам сделал бесплатный аудит безопасности, который кстати стоит не мало ;)

И хорошо что вы адекватный разработчик и все понимаете с полуслова

 

Спасибо)) Сколько с меня?  :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Да так. Как видите я вам сделал бесплатный аудит безопасности, который кстати стоит не мало ;)

И хорошо что вы адекватный разработчик и все понимаете с полуслова

 

Перерыл кучу литературы, путь и имя картинки скрыты, картинки грузятся по ссылке в скрипте, а там айдишник делаю через intval(), в каталоге сделал запрет на выполнение php скриптов через .htaccess, проверяю еще содержимое файлов на наличие исполняемого кода, картинки при загрузке ресайзятся и потом из временной папки перемещается в нужную, если хоть в какой-то из проверок файл не прошёл, то выдаем ошибку и анимированную иконку неудачной загрузки. Вроде так закрыл все дыры, какие только смог найти. Попробуйте еще раз ломануть. Если получится - напишите в ЛС. Надеюсь, что всё ок в этот раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

Перерыл кучу литературы, путь и имя картинки скрыты, картинки грузятся по ссылке в скрипте, а там айдишник делаю через intval(), в каталоге сделал запрет на выполнение php скриптов через .htaccess, проверяю еще содержимое файлов на наличие исполняемого кода, картинки при загрузке ресайзятся и потом из временной папки перемещается в нужную, если хоть в какой-то из проверок файл не прошёл, то выдаем ошибку и анимированную иконку неудачной загрузки. Вроде так закрыл все дыры, какие только смог найти. Попробуйте еще раз ломануть. Если получится - напишите в ЛС. Надеюсь, что всё ок в этот раз.

Нету времени заниматься "бесплатным" аудитом, когда на него уже надо больше времени чем 5 минут (как было в прошлый раз), но если постараться ...

Вам надо подсунуть бомбу с "немысленным" размером (была статья на хабре) и в тот момент пока хостер начнет захлебываться попробовать хакнуть хостера через его дыры, на предмет быстрого получения адреса файла и быстрого его перемещение в нужную область

 

Как видите весь ваш код, какой бы он крутой и защищенный не был, здесь не участвует. Потому что поломать загрузку в принципе можно через дыры хостера ;)

 

Так что все равно опасно разрешать пользователям загружать файлы на сервер :ugeek:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Нету времени заниматься "бесплатным" аудитом, когда на него уже надо больше времени чем 5 минут (как было в прошлый раз), но если постараться ...

Вам надо подсунуть бомбу с "немысленным" размером (была статья на хабре) и в тот момент пока хостер начнет захлебываться попробовать хакнуть хостера через его дыры, на предмет быстрого получения адреса файла и быстрого его перемещение в нужную область

Как видите весь ваш код, какой бы он крутой и защищенный не был, здесь не участвует. Потому что поломать загрузку в принципе можно через дыры хостера ;)

Так что все равно опасно разрешать пользователям загружать файлы на сервер :ugeek:

Про zip бомбу читал, но вроде как в php.ini должны быть выставлены директивы так, чтобы можно было большие файлы загружать, иначе php просто выдаёт ошибку. Или я ошибаюсь?

Если ошибаюсь, то выходом из этого положения можно считать два варианта:

1) Flash загрузчик, написать не проблема, опыт есть, но флеш все меньше используется

2) APC Php, не работал, но если на момент загрузки можно пресечь гигантский файл, то разберусь.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 484

....

Не заморачивайтесь

Вы все уже сделали (если сделали то что описали) для безопасной загрузки изображений МОДУЛЕМ

Остальное на совести хостера.

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

Все. ;)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Не заморачивайтесь

Вы все уже сделали (если сделали то что описали) для безопасной загрузки изображений МОДУЛЕМ

Остальное на совести хостера.

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

Все. ;)

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

 

В любом случае спасибо за помощь  :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rammstein91    5

Вышло обновление для 2ой версии Opencart.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отличный модуль. Удобен. Создатель помог в настройке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От Nannco
      Подскажите как можно отобразить большее количество отзывов на странице товара?

      Сейчас всего 6 отзывов, а во вкладке "отзывов" отображаются только 5 и переключившись на вторую страницу 1-отзыв, хотелось бы хотя бы 10 последних отзывов на одной странице. 
       
      Возможно увеличить? 
    • От hahaysdas
      Образовалась такая проблема. При переезде сайта на https, пагинация отзывов не работает. Открывается только первая страница с 5 отзывами, вторая и последующие страницы не открывает. На http всё работает.
      Перенаправление на https указано в .htaccess
      #Редирект с www to non-www(https) RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] #Редирект с http to https RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]  
    • От chukcha

      450.00 руб
      Скачать/Купить дополнение


      Комментарии к заказу и покупателям
      Расширение позволяет добавить заметку о заказе, о клиенте, который сделал заказ.
      Каждый заказ - уникален. И не всегда можно вспомнить подробности, например причину отмены, или задержку с оформлением
      Каждый клиент уникален. Есть адекватные клиенты, есть "глухие", а есть отмороженные, которых не хочется обслуживать (например - не забрал посылку, не доплатил и т.п.)
      Цель модуля - напомнить об этом
      Покупатель идентифицируется по email, телефону, или регистрации. Например, покупатель не залогинился, но указал номер телефона или email, а на этого покупателя есть досье
      Демо:
      http://demo2.slasoft.kharkov.ua/admin/index.php?route=sale/order
      demo / demo
      Не показывается, не отображаются, или перестал работать другой модуль) - допил/адаптация, в зависимости от возникшей проблемы, платный. Т.к. привязка идет к стандартным шаблонам, и контроллерам.
      Добавил chukcha Добавлено 21.05.2016 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop  
    • От chukcha
      Расширение позволяет добавить заметку о заказе, о клиенте, который сделал заказ.
      Каждый заказ - уникален. И не всегда можно вспомнить подробности, например причину отмены, или задержку с оформлением
      Каждый клиент уникален. Есть адекватные клиенты, есть "глухие", а есть отмороженные, которых не хочется обслуживать (например - не забрал посылку, не доплатил и т.п.)
      Цель модуля - напомнить об этом
      Покупатель идентифицируется по email, телефону, или регистрации. Например, покупатель не залогинился, но указал номер телефона или email, а на этого покупателя есть досье
      Демо:
      http://demo2.slasoft.kharkov.ua/admin/index.php?route=sale/order
      demo / demo
      Не показывается, не отображаются, или перестал работать другой модуль) - допил/адаптация, в зависимости от возникшей проблемы, платный. Т.к. привязка идет к стандартным шаблонам, и контроллерам.
    • От Mark54
      Здравствуйте, как реализовать возможность ответа администратора на отзыв? т е сделать еще одно поле «Ответ администратора» и выводить его после поля отзыва.
       
       
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу