Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

ocStore 3.0.3.7 - Модифицированный OpenCart


dinox
 Поделиться

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

17 часов назад, spectre сказал:

сию секунду 

и дать по рукам ещё тому кто посоветовал) 

Да, действительно почитал про Expires и Cache-Control.
Остановился на мысли, что Expires не нужен, оставил соответственно только Cache-Control.
Спасибо за помощь.

Это панель управления сайтом сама в конфиг добавляет ... благо эту оптимизацию можно отключить. 😅
Полез конфиг смотреть, только когда глюки проявились.

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


14 часов назад, landerlive47 сказал:

Сборка новая, болячки старые...

Люди новые, а проблема описать болячки старая 😁

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


@spectre @AlexDW @mpn2005 Коллеги, добрый день.
Подскажите, пожалуйста, по поводу установки для Cookie дополнительных флагов Secure; HttpOnly; SameSite=Lax.

Не могу найти информацию по этому поводу. Раньше в OcStore 2.3 ставился хотя бы флаг HttpOnly. Сейчас ни одного флага нет.

Попытался через .htaccess переопределить Cookie, но что-то не подхватывается:

Header edit Set-Cookie (.*) "$1; Secure; HttpOnly; SameSite=Lax"

Опять же для всех Cookie устанавливать HttpOnly, я так понимаю, не нужно. Достаточно эти флаги установить только на сессионные Cookie.
Кто как решает данную проблему, а то https://observatory.mozilla.org ругается?

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


1 час назад, AlektroNik сказал:

Подскажите, пожалуйста, по поводу установки для Cookie дополнительных флагов Secure; HttpOnly; SameSite=Lax.

Не могу найти информацию по этому поводу. Раньше в OcStore 2.3 ставился хотя бы флаг HttpOnly. Сейчас ни одного флага нет.

Попытался через .htaccess переопределить Cookie, но что-то не подхватывается:


Header edit Set-Cookie (.*) "$1; Secure; HttpOnly; SameSite=Lax"

Опять же для всех Cookie устанавливать HttpOnly, я так понимаю, не нужно. Достаточно эти флаги установить только на сессионные Cookie.

Надо просто добавить нужные параметры в вызов функции setcookie
https://www.php.net/manual/ru/function.setcookie.php

 

Делать это надо в двух файлах:
system/framework.php

catalog/controller/startup/session.php

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, mpn2005 сказал:

Надо просто добавить нужные параметры в вызов функции setcookie
https://www.php.net/manual/ru/function.setcookie.php

 

Делать это надо в двух файлах:
system/framework.php

catalog/controller/startup/session.php

И так и сяк бился, так и не смог прописать массив параметров ...:blink::cry: В лучшем случае получалось получить ошибку, я кобы 6 параметр должен быть белово, а у меня массив, во всех остальных комбинациях просто белый экран.

 

Могли бы мне помочь прописать три параметра на этом примере?:oops:

'secure' => true'httponly' => true'samesite' => 'Lax']
setcookie($config->get('session_name'), $session->getId(), (ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));

 

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


16 минут назад, AlektroNik сказал:

Могли бы мне помочь прописать три параметра на этом примере?

Там не массив. Вот эти два параметра булевы.

image.png.dac38d772931f9fa965c779789767f15.png

Нужно передать их просто как true;

 

Что касается samesite, то тут есть неболшой чит - его можно приклеить к параметру path. Массивом параметры можно передавать начиная с версии php 7.3

 

Вот итоговая запись под ваш случай:

setcookie($config->get('session_name'), $session->getId(), (ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0), ini_get('session.cookie_path') . '; SameSite=Lax', ini_get('session.cookie_domain'), true, true);

 

Писал без проверки. Надеюсь, нигде не промазал.

А вообще все эти ответы есть на указанной странице из документации php. Коментарии тоже полезно читать.

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

2 минуты назад, mpn2005 сказал:

Там не массив. Вот эти два параметра булевы.

image.png.dac38d772931f9fa965c779789767f15.png

Нужно передать их просто как true;

 

Что касается samesite, то тут есть неболшой чит - его можно приклеить к параметру path. Массивом параметры можно передавать начиная с версии php 7.3

 

Вот итоговая запись под ваш случай:

setcookie($config->get('session_name'), $session->getId(), (ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0), ini_get('session.cookie_path') . '; SameSite=Lax', ini_get('session.cookie_domain'), true, true);

 

Писал без проверки. Надеюсь, нигде не промазал.

А вообще все эти ответы есть на указанной странице из документации php. Коментарии тоже полезно читать.

 

 

Большое спасибо.
По поводу прибавки к path читал, OcStore последний как раз ниже 7.3 не работает.
Так что описанный Вам способ немного не мой случай.
Мне как-то это нужно в массив для PHP >=7.3 запихнуть без прибавления к path.
И комментарии читал часа 3, и гуглили и яндексил и эксперементировал. Максимум удалось добиться, прописать в конце truetrue для secure и httponly.
Нигде не могу найти инфу как нужно массив в эту строчку впхнуть.
 

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

1. For PHP >= v7.3

You can use the $options array to set the samesite value, for example:

setcookie($name, $value, [
    'expires' => time() + 86400,
    'path' => '/',
    'domain' => 'domain.com',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'None',
]);

The value of the samesite element should be either None, Lax or Strict.

Read more in the manual page.

 

Если Вас не затруднит, можете просто пример внедрения массива показать в эту строчку? 

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


18 минут назад, mpn2005 сказал:

setcookie($config->get('session_name'), $session->getId(), (ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0), ini_get('session.cookie_path') . '; SameSite=Lax', ini_get('session.cookie_domain'), true, true);

И этот вариант, к сожалению не отрабатывает.

PHP 7.3 не обманешь )))
Выдает ошибку:
Cookie paths cannot contain any of the following ',; \t\r\n\013\014'

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


6 минут назад, AlektroNik сказал:

И этот вариант, к сожалению не отрабатывает.

PHP 7.3 не обманешь )))
Выдает ошибку:
Cookie paths cannot contain any of the following ',; \t\r\n\013\014'

Вот как выше писали и должно работать:
image.png.f28ae4cee2f8ec388803a0ce33f14a87.png

Только вместо констант туда всё из переменных записать.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

18 минут назад, AlektroNik сказал:

You can use the $options array to set the samesite value, for example:


setcookie($name, $value, [
    'expires' => time() + 86400,
    'path' => '/',
    'domain' => 'domain.com',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'None',
]);

The value of the samesite element should be either None, Lax or Strict.

Read more in the manual page.

Вот тут ровно та же запись.

 

А если выпадет белый экран, то надо смотреть лог ошибок php. Скорее всего где-то синтаксическая ошибка.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Вот так должно быть для php 7.3+

 

Для файла system/framework.php

setcookie($config->get('session_name'), $session->getId(), [
    'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0,
    'path' => ini_get('session.cookie_path'),
    'domain' => ini_get('session.cookie_domain'),
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Lax',
]);

 

Для файла catalog/controller/startup/session.php

setcookie($this->config->get('session_name'), $this->session->getId(), [
    'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0,
    'path' => ini_get('session.cookie_path'),
    'domain' => ini_get('session.cookie_domain'),
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Lax',
]);

 

Код немного отличается, т.к. во втором случае он выполняется в методе объекта.

В этом, скорее всего, вы и слепили себе ошибку 500.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

8 минут назад, mpn2005 сказал:

Вот так должно быть для php 7.3+

 

Для файла system/framework.php


setcookie($config->get('session_name'), $session->getId(), [
    'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0,
    'path' => ini_get('session.cookie_path'),
    'domain' => ini_get('session.cookie_domain'),
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Lax',
]);

 

Для файла catalog/controller/startup/session.php


setcookie($this->config->get('session_name'), $this->session->getId(), [
    'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0,
    'path' => ini_get('session.cookie_path'),
    'domain' => ini_get('session.cookie_domain'),
    'secure' => true,
    'httponly' => true,
    'samesite' => 'Lax',
]);

 

Код немного отличается, т.к. во втором случае он выполняется в методе объекта.

В этом скорее всего вы и слепили себе ошибку 500.

Огромное спасибо, все получилось. 🍻

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


Всем добрый день. Хочу перевести OcStore 3 с админкой и витриной на новые css framework. Есть ли где сообщество кто этим уже занимается? Возможно часть моей работы будет полезной для сообщества? 

Изменено пользователем Anton29061987
Ссылка на комментарий
Поделиться на других сайтах


Люди добрые! помогите чтобы работал функционал SeoPro, создал тему здесь, решилось частично.

Установил ocStore 3 в подпапку shop.

htaccess переименован и дополнен RewriteBase /shop/

в конфигах https://example/shop/

Options +FollowSymlinks

изменен на это

Options +SymLinksIfOwnerMatch

Страницы открываются, главная показывает "Циклическое перенаправление на странице"

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


1 час назад, yurame1nik сказал:

Страницы открываются, главная показывает "Циклическое перенаправление на странице"

Попробуйте сменить в админке настройку "Добавить слэш в конец ссылки"

Это в настройках магазина на закладке SeoPro

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

21 минуту назад, mpn2005 сказал:

Попробуйте сменить в админке настройку "Добавить слэш в конец ссылки"

Это в настройках магазина на закладке SeoPro

 

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

можно теперь краткий мануал писать)

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


чувство юмора у каждого свое

поэтому просто и без шуток - в сборках ocStore 3020-3037 нет Сахалинской области в БД

 

которая в 15х-2х была в install.sql

(2737, 176, 'SAK', 'Сахалинская область', 1),

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Уважаемые подскажите пожалуйста а какие различия у данной сборки по сравнению с оригинальной версией Opencart 3.0.3.7?

То что поправили ошибки по сравнению с версией 3.0.2.0 это понятно...но что добавили то в сравнении с Opencart 3.0.3.7?

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


22 часа назад, AlexDW сказал:

чувство юмора у каждого свое

поэтому просто и без шуток - в сборках ocStore 3020-3037 нет Сахалинской области в БД

 

которая в 15х-2х была в install.sql


(2737, 176, 'SAK', 'Сахалинская область', 1),

 

Спасибо за новодку.

А ничего страшного, что есть одинаковые коды и даже имена регионов?

image.png.16e737ae90416475b9ae2c7002efd921.png

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


4 часа назад, max114 сказал:

Уважаемые подскажите пожалуйста а какие различия у данной сборки по сравнению с оригинальной версией Opencart 3.0.3.7?

То что поправили ошибки по сравнению с версией 3.0.2.0 это понятно...но что добавили то в сравнении с Opencart 3.0.3.7?

По идее и в первом посте на странице загрузки есть информация ...

Мне кажется ее вполне достаточно.
Различия между ocStore 3.0.3.7 и OpenCart 3.0.2.0

 

Изменено пользователем AlektroNik
Ссылка на комментарий
Поделиться на других сайтах


2 часа назад, AlektroNik сказал:

А ничего страшного, что есть одинаковые коды и даже имена регионов?

главное чтобы названия стран и их коды отличались

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Решил обновиться поверх свежеУстановленной версию ocStore 3.0.2.0 (с хостинга)
PHP 7.4

Во время обновления появляется ошибка:

Upgrade Progress

 

Error Code(0): Error: Table 'igor12w7_ocar1.oc_url_alias' doesn't exist
Error No: 1146
SELECT * FROM `oc_url_alias` in /home/i/igor12w7/"website"/public_html/system/library/db/mysqli.php on line 41

 

И ещё в добавок PHP_errors.log

 

Всё делал по инструкции, что не так?

PHP_errors.log

Изменено пользователем NineBot
Ссылка на комментарий
Поделиться на других сайтах


1 час назад, NineBot сказал:

Решил обновиться поверх свежеУстановленной версию ocStore 3.0.2.0 (с хостинга)
PHP 7.4

Что вам непонятно в сообщении ошибки? Нет у вас в БД такой таблицы.
Скорее всего, разные префиксы указываете при обновлении и установке.
А еще непонятно, зачем вам свежеустановленный ос обновлять. Снесите и поставьте новую версию. 
PS: А вы уверены, что "с хостинга" у вас именно окстор? А не обычный опенкарт? Как-то ни разу не встречалось такого. Тогда тем более бесполезно пытаться обновить.

Изменено пользователем Shureg
Ссылка на комментарий
Поделиться на других сайтах


@Shureg Спасибо за рассуждения на эту тему (не взирая на выходной :). Отвечу по порядку:

 

1 hour ago, Shureg said:

Что вам непонятно в сообщении ошибки? Нет у вас в БД такой таблицы.

1. Да, её, нет. А дальше казалось бы, что делать? :)
* Если подразумевается, что я её должен создавать вручную, то где почитать с какими параметрами и т.д.?
* С другой стороны, неужели сложно создавать все необходимые таблицы во время обновления (тем более все доступы есть). Странно что нет для этого скрипта.

 

1 hour ago, Shureg said:

Скорее всего, разные префиксы указываете при обновлении и установке.

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

Spoiler

(для наглядности)
20210808.thumb.png.76e0f208c985413d5fc20367739402d4.png

 

1 hour ago, Shureg said:

PS: А вы уверены, что "с хостинга" у вас именно окстор? А не обычный опенкарт? Как-то ни разу не встречалось такого. Тогда тем более бесполезно пытаться обновить.

Точно OpenCart ocStore 3.0.2.0

 

1 hour ago, Shureg said:

А еще непонятно, зачем вам свежеустановленный ос обновлять. Снесите и поставьте новую версию. 

Верно. Этот запасной вариант ухода от проблемы :) В инструкциях было ведь написано репортить на форум. Что я и сделал. Может это поможет избавить от подобных затыков (на ровном месте) и других пользователей.

Изменено пользователем NineBot
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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