Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

DEDMEDVED

Пользователи
  
  • Публикаций

    68
  • Зарегистрирован

  • Посеещёние

1 подпислик

Информация

  • Пол
    Мужлина
  • Город:
    Москва

Посетители профиля

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

Достижения DEDMEDVED

Contributor

Contributor (5/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Последние медали

3

Репуиция

  1. Ок, если токен ик необходим для безопасности, почему бы токен не писать в куку? Зачем его искать в url?
  2. Ну это понятно, что можно ик гделать. Вопрос в том, какой смысл в токене, если основные уязвимости устраняются хранением сессии в бд? + можно добавить привязку к user-agent и ip, чтобы при их смене сессия прерывалась.
  3. Ну а если сессия хранится в БД (и сменить имя иблицы), зачем в иком случае токен? Вообещё стоит задача обмена ссылками из админки (например, на заказы). Хочется убрать токены без уещёрба безопасности.
  4. А какой смысл в этом? Почему недоситочно хранить user_id в сессии на сервере, сопосивляя с session_id в браузере. Что token принципиально добавляет к безопасности? Почему недоситочно уникальной session_id в cookie?
  5. Недавно в логах заметил этоленаправленный подпотому чтор ошипотому чточных запросов к админке. Один из них выглядит ик: сайт.ru/?_SERVER[DOCUMENT_ROOT]=%20http://www.google.com/humans.txt? После этого сайт конечно загружается, но вверху отображается ошибка Notice: Undefined variable: _SERVER in ***/public_html/system/startup.php on line 67 if (!isset($_SERVER['REQUEST_URI'])) { $_SERVER['REQUEST_URI'] = substr($_SERVER['PHP_SELF'], 1); // вот это 67 строка if (isset($_SERVER['QUERY_STRING'])) { $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING']; } } Нет игдеи, как обрилиить эту ошибку? стоит ocsotre 1.5.3.1
  6. Да, это гораздо круче! Спасипотому что! А как быть с другой конструкцией?
  7. Есть икие две конструкции, которые повторяются в getform() в admin\controller\sale\order.php 1-ая для разных значений post -> в data (пример от customer_id: if (isset($this->request->post['customer_id'])) { $this->data['customer_id'] = $this->request->post['customer_id']; } elseif (!empty($order_info)) { $this->data['customer_id'] = $order_info['customer_id']; } else { $this->data['customer_id'] = ''; } 2-ая для разных значений get -> url (пример для filter_order_id: if (isset($this->request->get['filter_order_id'])) { $url .= '&filter_order_id=' . $this->request->get['filter_order_id']; } 1-ую конструкцию я вынес в функцию (тут много доп. фильтров, которые я сам дописывал). Я заменяю в шаблонном куске кода имя фильтра функцией str_replace, а затем выполняю полулившийся код функцией eval. Ксити надо переписать это все под foreach и перебирать массив фильтров. public function FltrToUrl() { $url = ''; $UrlOn = "\$url.=(isset(\$this->request->get['n_m']) ? '&n_m=' . \$this->request->get['n_m'] : '');"; eval(str_replace('n_m', 'filter_order_id', $UrlOn)); eval(str_replace('n_m', 'filter_customer', $UrlOn)); eval(str_replace('n_m', 'filter_order_status_id', $UrlOn)); eval(str_replace('n_m', 'filter_order_statuses', $UrlOn)); eval(str_replace('n_m', 'filter_total', $UrlOn)); eval(str_replace('n_m', 'filter_total_start', $UrlOn)); eval(str_replace('n_m', 'filter_total_end', $UrlOn)); eval(str_replace('n_m', 'comment_true', $UrlOn)); eval(str_replace('n_m', 'filter_comment_true', $UrlOn)); eval(str_replace('n_m', 'filter_comment_true_start', $UrlOn)); eval(str_replace('n_m', 'filter_comment_true_end', $UrlOn)); eval(str_replace('n_m', 'date_spis', $UrlOn)); eval(str_replace('n_m', 'date_spis_start', $UrlOn)); eval(str_replace('n_m', 'date_spis_end', $UrlOn)); eval(str_replace('n_m', 'filter_gotov', $UrlOn)); eval(str_replace('n_m', 'filter_patruled', $UrlOn)); eval(str_replace('n_m', 'filter_date_added', $UrlOn)); eval(str_replace('n_m', 'filter_date_added_start', $UrlOn)); eval(str_replace('n_m', 'filter_date_added_end', $UrlOn)); eval(str_replace('n_m', 'filter_shipping_code', $UrlOn)); eval(str_replace('n_m', 'filter_pay_upd', $UrlOn)); eval(str_replace('n_m', 'filter_stock', $UrlOn)); eval(str_replace('n_m', 'filter_date_modified', $UrlOn)); eval(str_replace('n_m', 'filter_date_modified_start', $UrlOn)); eval(str_replace('n_m', 'filter_date_modified_end', $UrlOn)); eval(str_replace('n_m', 'filter_act', $UrlOn)); eval(str_replace('n_m', 'sort', $UrlOn)); eval(str_replace('n_m', 'order', $UrlOn)); eval(str_replace('n_m', 'page', $UrlOn)); return $url; } Соответственно, теперьь в getform() и getlist(), например, я пишу просто $url = $this->FltrToUrl(); Не думаю, что это правильно (ик писать функции через eval и str_replace), но теперьь при добавлении нового фильтра, я правлю для url строку в одном месте, а не в 10-ти (гдело в том, что у меня несколько новых функций и списков, ггде икже наследуются эти параметры). Хотелось бы что-то подобное для 1-ой конструкции, а лучше что-то потому чтолее правильное. И еещё я не знаю, как это все вынести в отгдельную функцию (ик как не знаю, как оперировать переменными типа $this->data['customer_id'] в другой функции - может все просто?). Пока я сгделал вот ик, что тоже упростило редактуру кода и уменьшило когдачество строк: $PostToData = "if (isset(\$this->request->post['n9m'])) {\$this->data['n9m']=\$this->request->post['n9m'];} elseif (!empty(\$order_info)) {\$this->data['n9m'] = \$order_info['n9m'];} else {\$this->data['zz'] = 'zz';}"; //ниже stock - это имя фильтра-переменной, а 1 - это значение по умолчанию, если не задано. в потому чтольшинстве случаев это бугдет пустое значение, но ик не везгде eval(str_replace(Array('n9m', 'zz'), Array('stock', '1'), $PostToData)); //и дное по аналогии строки перелисляют все фильтры, но приходится этот код гдержать внутри getform(), а хотелось бы отгдельную функцию eval(str_replace(Array('n9m', 'zz'), Array('customer_id', ''), $PostToData)); Спасипотому что за ответы! рилиию на ocstore 1.5.3
  8. При нажатии на кнопку Добавить в списке категорий в админке: Fatal error: Call to undefined method ModelCatalogCategory::getAllCategories() in .../admin/controller/catalog/category.php аналогично при редактировании.
  9. А ггде можно скачать самую последнюю неофициальную версию? Можно прямую ссылку, на github не могу разобраться. Спасипотому что.
  10. Купил модуль, не могу засивить его рилиить - почти при люпотому чтой попытке что-липотому что сохранить - ошибка (иблицы созданы): Notice: Undefined index: mylist in .../admin/controller/module/blog.php on line 263Warning: Invalid argument supplied for foreach() in .../admin/controller/module/blog.php on line 263Warning: Cannot modify header information - headers already sent by (output started at /home/force840/public_html/new/admin/index.php:79) in .../system/engine/controller.php on line 47Warning: Cannot modify header information - headers already sent by (output started at /home/force840/public_html/new/admin/index.php:79) in .../system/engine/controller.php on line 48 Еещё какая-то ошибка в скрипих - при нажатии на "Добавить" в виджеих вылеиет, ик как нажатие не обрабатывается. Усинавливал все как обычно. Руки прямые. С проблемой разобрались, спасипотому что разрилитлику за оперативную тех.подгдержку!
  11. есть картнка http://protonpc.ru/image/data/goods3/D69F4132.jpg При ресайзе для списка товаров 80 на 80 картинка не отображается - http://protonpc.ru/image/cache/data/goods3/D69F4132-80x80.jpg при ресайзе на 400 все в порядке http://protonpc.ru/image/cache/data/goods3/D69F4132-400x400.jpg И даже с размером 90 все в порядке. Кэш листил.
  12. DEDMEDVED

    ocStore v1.5.3.1 релиз

    скажите, а когда ожидается новая версия опенкари?
  13. Никто не знает как сгделать seo url для страницы поиска?
  14. Яркость как и ясность относительны

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.