RHCk

Руководство для перехода на SSL (HTTPS)

Recommended Posts

Написал в службу поддержки хостинга по этому поводу.

Вот что ответили: 

Админка недоступна из-за следующей ошибки PHP:

[15-Dec-2016 14:39:31 Europe/Moscow] PHP Fatal error: Call to a member function getId() on a non-object in /home/g/gsptk5/armyzone.ru/public_html/system/storage/modification/catalog/controller/common/footer.php on line 165
Это может быть связано с установкой каких-либо модулей.

 

Последнее время я ничего не устанавливал.

В чем проблема тоже походу не разберусь.

Нужна помощь. Буду очень благодарен.

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, Gerik сказал:

Написал в службу поддержки хостинга по этому поводу.

Вот что ответили: 

Админка недоступна из-за следующей ошибки PHP:

[15-Dec-2016 14:39:31 Europe/Moscow] PHP Fatal error: Call to a member function getId() on a non-object in /home/g/gsptk5/armyzone.ru/public_html/system/storage/modification/catalog/controller/common/footer.php on line 165
Это может быть связано с установкой каких-либо модулей.

 

Последнее время я ничего не устанавливал.

В чем проблема тоже походу не разберусь.

Нужна помощь. Буду очень благодарен.

 public_html/system/storage/modification/

удалите все кроме файла index - после должно пускать. 

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


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, krdin сказал:

удалите все кроме файла index - после должно пускать. 

Вообще всё?)

11 минуту назад, Gerik сказал:

Нужна помощь

Вы бэкап делали?

У вас конфиг для админки (в папке admin) лежит обычный (как в корне), исходя из того, что вы раньше писали (они должны отличаться).

Уберите из конфигов всё, что касается https, а .htaccess возьмите из архива движка (старый не удаляйте, скопируйте куда-нибудь).

 

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


Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, krdin сказал:

исправил :)

вообще куча ошибок посыпалось

вернул всё назад..бэкап короче сделал

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


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Gerik сказал:

короче

делайте последовательно.

Включите https, проверьте доступность сайта.

Экспериментируйте с редиректом на https. В шапке всё расписано.

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, Gerik сказал:

вообще куча ошибок посыпалось

вернул всё назад..бэкап короче сделал

скопируйте три файла в которых вносите изменения (два кофиги и .htaccess) .

 Что бы не делать полный бэкап. 

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


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

Подскажите пожалуйста, куда в файл .htaccess вставлять эти строки

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

 

У меня так:

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Gerik сказал:

куда вставлять

После:

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

# SEO URL Settings
RewriteEngine On

 

Модуль нужен для плавного перехода на https, он оставляет доступным ресурсы сайта по http и по https.

Я переходил на https до того как был написан фикс. Переход занял пару недель.

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


Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, RHCk сказал:

Видите где ошибка?

Нет не вижу. Если вы намекаете на знак бакса, то он используется как знак окончания адреса, чтобы вложенные адреса не попадали под этот редирект.

 

 

14 часа назад, RHCk сказал:

Если он также доступен по https, этого достаточно.

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

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


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, seo-izh сказал:

Нет не вижу.

RewriteRule ^aksessuary/fotoshtory/fotoshtory-zhizn%27-zhukov$ /aksessuary/fotoshtory/zhuchki-pauchki [R=301,L]

h**ps://laitik.ru/index.php?_route_=aksessuary/fotoshtory/fotoshtory-zhizn%27-zhukov

Так тоже ничего общего не видите?

8 минут назад, seo-izh сказал:

чтобы вложенные адреса не попадали под этот редирект

Это откуда такое?

 

11 минуту назад, seo-izh сказал:

дело ведь не в достаточно

Дело как раз в этом, если речь идёт о статических файлах, в том числе о картинках.

 

А если 

12 минуты назад, seo-izh сказал:

нам нужно сделать так

тогда пишите в ТП хостеру и он вам объяснит как это сделать, ибо редирект статики зависит от настроек сервера.

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


Ссылка на сообщение
Поделиться на других сайтах
12 часа назад, RHCk сказал:

Модуль нужен для плавного перехода на https, он оставляет доступным ресурсы сайта по http и по https.

Я переходил на https до того как был написан фикс. Переход занял пару недель.

Спасибо за помощь, всё получилось :) 

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


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

Обнаружил, что у Timeweb'a есть Let'sEncrypt и выделенный ай-пи покупать не надо, можно обновить в описание и добавить другие хостинги у которых есть такая возможность

 

ПС сам еще не тестировал, при случае обязательно отпишусь

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


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

Скажите,  а если сайта (магазина) еще нет, а только домен (пустой) на хостинге,  даже cms не установлена что в таком случае делать? Вот думаю выбрать сертификат  Let'sEncryp. Просто нужно на пустой домен установить сертификат (это делает хостинг) и все или еще что-то?

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Nameless сказал:

Обнаружил, что у Timeweb'a есть Let'sEncrypt

Месяца два уже как точно.

Ставится из ПУ "автоматически", от службы поддержки получаете уведомление.

 

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

Просто нужно на пустой домен установить сертификат (это делает хостинг) и все или еще что-то?

Если shared хостинг, сертификат установит хостер, который вы ему передадите (скорее всего).

Если есть возможность установить Let'sEncrypt, тогда установит хостер, передавать ничего не нужно.

Если vps/vds, тогда сами, ручками.

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


Ссылка на сообщение
Поделиться на других сайтах
42 минуты назад, RHCk сказал:

 

Если есть возможность установить Let'sEncrypt, тогда установит хостер, передавать ничего не нужно.

 

Я имею ввиду после установки сертификата хостером на чистый домен мне что-то с настройками делать нужно, нужно ли мне делать все что написано в руководстве для перехода?

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


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

  • Похожие публикации

    • Автор: RHCk
      ПРАВИЛА ТЕМЫ:
       
      UPD07.03.2018 Яндекс заменит директиву HOST на 301-й редирект - больше информации ЗДЕСЬ.
       
      Данная инструкция актуальна для Opencart.PRO и Opencart.CMS всех версий!
       
      0. ВАЖНО! Перед началом любых экспериментов не забываем делать бэкап файлов и базы данных сайта!!!
       
      1. Для перехода на SSL (HTTPS) нужен сертификат, получить его можно здесь:
      ВАЖНО! Сертификат от Let'sEncrypt помимо своей бесплатности с некоторого времени может быть WildCard, т.е. выдаваться для основоного домена - domain.tld и всех поддоменов *.domain.tld
      2. Далее необходимо установить сертификат на сервер или передать его хостинг-провайдеру, для установки на сервер (на котором размещен ваш сайт), либо активировать/сгенерировать его в ПУ хостинга/сервера. Более подробно о данной процедуре можно узнать у службы технической поддержки вашего хостинг-провайдера.
       
      3. Настраиваем CMS для работы с SSL.
      3.1 В файлах /config.php и admin/config.php делаем замены:
      3.2 Идём Система -> Настройки -> Редактировать -> Вкладка Сервер -> Использовать SSL: выбираем Да.
      3.3 Производим следующие действия в файле robots.txt:
      если sitemap вашего сайта не отдается фидом, добавляем в обе секции (User-agent: * и User-agent: Yandex) файла robots.txt директиву:
      Sitemap: httрs://mysite.com/sitemap.xml если sitemap вашего сайта отдается фидом, отдаем ПСам новый фид (на HTTPS).  
      4.  Далее необходимо настроить 301-й редирект с HTTP на HTTPS.
      Это можно сделать двумя способами:
      Включить редирект в ПУ хостинга/сервера (требуется проверка, что редирект 301-й) Добавить редирект в файл .htaccess  
      В виду того, что у разных хостинг-провайдеров разные настройки серверов, необходимо выбрать тот вариант редиректа, который будет работать, либо запросить рабочий вариант у вашего хостинг-провайдера. Как проверить работу редиректа читайте ниже.
      ВАЖНО! Подразумевается, что редирект с "с www" на "без www", или наоборот, у вас уже настроен. Если нет, смотрите здесь или в пункте 4.1.2.
      ВАЖНО! Изменения вносятся в файл .htaccess в корневом каталоге сайта.
      ВАЖНО! Редиректы в файле .htaccess необходимо добавлять сразу после строки с 'RewriteBase /'. Если не работает, попробуйте поставить выше, сразу после строки с  'RewriteEngine On'. О результатах экспериментов пишите в этой теме.
      4.1 Варианты редиректов:
      4.1.1 Редиректы от @Yoda:
      4.1.2 Редиректы от @savage4pro:
      4.1.3 Редиректы от Timeweb.ru:
      4.1.4 Редиректы для ukraine.com.ua:
      4.1.5 Редирект для masterhost.ru (говорим спасибо @Yoda здесь)
      4.1.6 Редирект для webhost1.ru:
      4.1.7 Редирект для связки nginx и Apache:
      4.1.8 Редирект для jino.ru:
      4.1.9 Редирект для hostpro.ua:
      4.1.10 Редирект для beget.ru (говорим спасибо @BuslikDrev здесь)
       
      5. Проверка. Чтобы проверить корректность работы произведенных изменений необходимо сделать следующее:
      5.1 Если у вас настроен редирект с "с www" на "без www"
      идём на сайт по HTTP с WWW, должны получить HTTPS без WWW; идём на сайт по HTTP без WWW, должны получить HTTPS без WWW; идём на сайт по HTTPS с WWW, должны получить HTTPS без WWW. 5.2 Если у вас настроен редирект с "без www" на "с www"
      идём на сайт по HTTP с WWW, должны получить HTTPS с WWW; идём на сайт по HTTP без WWW, должны получить HTTPS с WWW; идём на сайт по HTTPS без WWW, должны получить HTTPS с WWW. 5.3 Отдельно можно проверить как после всех изменений ваш сервер отдает статические файлы, например, фото товаров.
      Зайдите на страницу товара, скопируйте ссылку на фото товара, вставьте её в строку браузера и поэкспериментируйте согласно пунктам 5.1 - 5.2, и посмотрите по какому протоколу будет отдаваться статика. 
      5.4 У некоторых хостинг-провайдеров есть возможность включить редирект в ПУ. Тут следует обратить внимание на то, каким редиректом будет осуществляться переадресация - 301-м или 302-м. Нужен 301-й. Как посмотреть? Можно здесь, вкладка Details. Также показывает редирект Screaming Frog SEO Spider, браузер тоже показывает (F12). Пробуйте.
      5.5 Проверьте сайт на наличие ссылок по HTTP. Это могут быть ссылки в статьях или описаниях товаров. Необходимо изменить в них HTTP на HTTPS или сделать их относительными, т.е. без доменного имени сайта.
       
      6. Далее добавляем новый сайт на HTTPS в Вебмастеры ПС:
       
      7. Дополнительная информация:
      от Яши - здесь, здесь, здесь и здесь.  от Гоши - здесь и здесь.  
      ВАЖНО! Все внешние скрипты, стили, шрифты и прочие iframe должны подключаться строго по HTTPS и никак иначе!
      В противном случае получим кучу ошибок в консоли браузера и корявости на сайте. 
       
      ПОЛЕЗНО! Сервис для проверки поддержки сервером ALPN (требуется OpenSSL 1.0.2+) для переключения на HTTP/2 - KEYCDN
      ПОЛЕЗНО! Сервис для проверки установленного сертификата - SSLSHOPEER
      ПОЛЕЗНО! Сервис для проверки установленного сертификата - QUALYS SSL LABS
      ПОЛЕЗНО! Сервис для мониторинга доступности сайта - HOST-TRACKER
    • Автор: RHCk
      UPD ПРАВИЛА ТЕМЫ:
       
      Тема создана для описания основ безопасности CMS Opencart.
      Если что-то упустил, пишите.
       
      0. ВАЖНО! Перед началом любых экспериментов делаем бэкап файлов и базы сайта!!!
      1. Установка
      1.1 При установке меняем префикс базы данных на другой - например "ос_" на "sn_" (и помним об этом).
      1.2 Логин для админки НЕ должен быть admin! Пароль админки должен быть сложным, который содержит как минимум заглавные, строчные символы и цифры. Для этого пользуем генераторы паролей (они есть практически в любом менеджере паролей, также бывают отдельными программами). Онлайн генераторы от @savage4pro - тут и здесь.
      1.3 После установки или обновления CMS обязательно удаляем каталог install.
      1.4 Очень часто взлом и заражение ИМ происходит через соседей (устаревшие или не обновленные CMS в одном аккаунте с ИМ). Важно помнить - в одном аккаунте один магазин.
       
      2. Настройка CMS
      2.1 После установки отключаем вывод ошибок на "морду" магазина (Система -> Настройки -> Редактировать -> Вкладка Сервер -> Раздел Безопасность -> Ключ шифрования -> С помощью генераторов из п-та 1.2 генерируем новый (длина 1024).
      2.2 Там же отключаем вывод ошибок на "морду" магазина (Система -> Настройки -> Редактировать -> Вкладка Сервер -> Раздел Обработка ошибок -> Показывать ошибки -> НЕТ). Включать вывод ошибок нужно по необходимости - установка нового модуля, изменение функционала и т.д. (помним про п-кт 0).
      2.3 Часто, перед покупкой или установкой модулей, разработчики предлагают проверить соответствие вашего хостинга требованиям модуля. В корневой каталог сайта копируется info.php, заходим по адресу <сайт>/info.php видим инфу, определяемся с модулем и удаляем файл info.php, дабы не оставлять подсказку разным негодяям.
      2.4 Пользователям, на сайтах которых настроен обмен, следует проверить недоступность снаружи следующих адресов:
      domain.com/system/storage/cache/exchange1c/import.xml domain.com/system/storage/cache/exchange1c/offers.xml domain.com/system/storage/cache/exchange1c/orders.xml 2.5 ВАЖНО! Присутствующие на сайте тяжелые скрипты (если имеются), такие как парсеры, генераторы карт и прайс-листов, и т.д., не должны быть доступны всем подряд извне.
       
      3. Настройка хостинга
      3.1 Средствами .htaccess можно ограничить доступ в админку вводом дополнительных логина и пароля (.htpasswd) и возможностью входа только с определенного IP-адреса. Перед этим важно не забыть получить статический IP-адрес у своего интернет-провайдера. Если будет интерес, можно сделать подробное описание этого метода.
      Видел модуль, добавляющий капчу от Гоши в форму авторизации админки. Штука полезная, ибо усложняет процесс сбручивания пароля разными кулхацкерами.
      3.2 При установке CMS, добавлении функционала, установке модулей (предоставления доступа к файлам CMS разработчикам модулей и т.д.) требуется доступ к хостингу по FTP (SFTP). Для таких случаев создаем отдельные учётные записи на хостинге, с доступом только к необходимым ресурсам. Требования к учётной записи те же, что и в пункте 1.2.
      ВАЖНО! После проведения работ обязательно отключаем доступ по FTP. Об этом забывают 90% будущих Рокфеллеров.
      3.3 В .htaccess должен присутствовать запрет на чтение файлов/каталогов(папок) с "." (точкой) в начале имени:
      RedirectMatch 403 /\..*$  
      4. Периодические мероприятия
      4.1 ВАЖНО! Необходимо регулярно делать бэкапы. Чем чаще делаются бэкапы, тем меньши информации будет потеряно в случае форс-мажора. Есть шутка "Админы делятся на две группы - на тех, кто не делает бэкапы и тех, кто уже делает".
      Бэкап файлов делаем с помощью FileZilla (или архивируем хостингом, а забираем ей же). Бэкап базы делаем с помощью Sypex Dumper 2.
      4.2 ВАЖНО! Категорически нельзя складывать бэкапы в каталог (папку) сайта! Поэтому все бэкапы (архивы бэкапов) забираем с хостинга. Место для хранения бэкапов подбирается из расчета хранения 10 архивов: 1 ежемесячный, 3 еженедельных, 6 ежедневных.
      4.3 ВАЖНО! Регулярно меняйте пароли (не реже раза в три месяца) ко всем учётным записям (админка, ftp и т.д.) и базам данных! Пароль к базе данных хранится в двух файлах config.php (из корня и в папке admin) в следующей записи:
      define('DB_PASSWORD', '7EJCE9vIAEfGExueZ3vn'); где 7EJCE9vIAEfGExueZ3vn - есть пароль. 4.4 ВАЖНО! Регулярно проверяем кроневой каталог и папки cache и download на предмет посторонних файлов. Особое внимание уделяем файлам, в которых присутствуют закодированные base64 элементы.
      В коренвом каталоге сайта должны быть только следующие файлы:
       
      В планах:
       
      P.S. Данная инструкция была написана при поддержке @savage4pro и @Yoda.
      P.P.S. #opencartsecurity #безопасностьвопенкарт #хуйнаныр
       
  • Сейчас на странице   0 пользователей

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