Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

DEDMEDVED

Users
  
  • Posts

    68
  • Joined

  • Last visited

Everything posted by DEDMEDVED

  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. скажите, а когда ожидается новая версия опенкарта?
  13. Яркость как и ясность относительны

  14. Такой модуль бы под новый опенкарт допилить
  15. У меня при импорте возникает ошибка Bad Gateway. Увеличение лимтов и таймаутов в php.ini результата не дало. Что делать!!! Раскомментирование строк ini_set("memory_limit","512M"); ini_set("max_execution_time",180); set_time_limit( 60 ); не помогает. В журнал ошибок ничего не пишется. Ошибка возникает на разных этапах, в разных ситуациях, с разными товарами. Возникает после правки экспортированного файла. Во время танцев с бубнами ошибка возникала даже при загрузке только что выгруженного (ни разу не открытого) файла. скажите хотя бы куда копать и как выловить ошибку - на каком этапе она возникает!? Пока понятно, что она возникает до загрузки файла импорта в базу, потому что во время ее возникновения содержимое магазина не меняется.
  16. Здравствуйте! Не подскажите где покопать, чтобы вывести в карточке товара для всех пользователей ссылки на файлы, которые указаны в Связи - Загрузки. Спасибо!
  17. Пол дня потратил но решение нашел!!! Нужно в index.php опенкарта добавить строку if (strpos($_SERVER['REQUEST_URI'], 'blog') == 1) {include 'внутренний путь к каталогу блога/index.php';}; а в index.php вордпресса исправить строку require('.wp-blog-header.php'); на require('wp-blog-header.php'); И все работает как часики)
  18. Объединил содержимое .htaccess , отключал чпу в опенкарте, это не помогает...
  19. Здравствуйте! Столкнулся с проблемой. Хочу чтобы в директории домен/blog/ в интернет-магазине работал блог на вордпресе. Однако при перехода по любой ссылке домен/blog/ выбрасывает на главную магазина. Думаю нужно как-то отключить обработку урлов движком опенкарта в данной директории. Как это сделать не подскажите? Вот еще интересно, что в /blog/wp-admin/ все чудесно работает и /blog/ тоже выводит главную блога. Если это важно, речь идет об этом сайте. Спасибо заранее за советы
  20. Подскажите как исправить ошибку Call to a member function link() on a non-object in /catalog/controller/account/quickregister.php on line 31
  21. Подскажите пример кода и куда его вставить, чтобы исправить проблему
  22. В теме поддержки дополнения никто не отвечает, решил продублировать здесь, извиняюсь.. С новым годом! У меня стоит первая версия модуля RBKMoney. Проблема - при попытке оплаты возникла ошибка (сообщилась пользователю) "Превышеная максимальная длина для поля 'Имя сервиса'. Пожалуйста, сообщите магазину об этой ошибке". Выяснил в поддержке: Максимальная длина поля serviceName - 255 символов, по- видимому Вы передаете больше символов. Сделайте длину этого поля меньше, пожалуйста. Что делать? Поставил новую версию - 1.1 - теперь проблема появляется еще раньше. На этапе выбора методов оплаты ошибка при построении списка методов оплаты в строке <?php if ($payment_method['id'] == $payment || !$payment) { ?> такая Undefined index: id
  23. На самом деле я тогда покопался на форуме и нашел решение. Нужно создать в админке магазин новый, а новый домен в хостинге направить в ту же папку, где и основной магазин, а опенкарт уже сам распределяет запросы. Например, если делать мобильную версию к Mnogochernil.ru - m.Mnogochernil.ru, можно даже использовать один шаблон, изменения внедряя конструкцией: <?php if (HTTP_SERVER == 'http://m.mnogochernil.ru/') { ?>мобильная версия<?php } else { ?>настольная<?php } ?>
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.