Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

сию секунду 

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

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

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

Надіслати
Поділитися на інших сайтах


@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 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.