RHCk

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

Recommended Posts

В .htaccess ничего не менял, только переименовал

Скрытый текст

# 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))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# 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=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^sitemap_pro.xml$ index.php?route=extension/feed/sitemap_pro [L]
RewriteRule ^yandex_feed.xml$ index.php?route=extension/feed/yandex_feed [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

конфиг из корня

Скрытый текст

<?php
// HTTP
define('HTTP_SERVER', 'https://orchidbel.by/');

// HTTPS
define('HTTPS_SERVER', 'https://orchidbel.by/');

// DIR
define('DIR_APPLICATION', '/var/www/orchi156/data/www/orchidbel.by/catalog/');
define('DIR_SYSTEM', '/var/www/orchi156/data/www/orchidbel.by/system/');
define('DIR_IMAGE', '/var/www/orchi156/data/www/orchidbel.by/image/');
define('DIR_LANGUAGE', '/var/www/orchi156/data/www/orchidbel.by/catalog/language/');
define('DIR_TEMPLATE', '/var/www/orchi156/data/www/orchidbel.by/catalog/view/theme/');
define('DIR_CONFIG', '/var/www/orchi156/data/www/orchidbel.by/system/config/');
define('DIR_CACHE', '/var/www/orchi156/data/www/orchidbel.by/system/storage/cache/');
define('DIR_DOWNLOAD', '/var/www/orchi156/data/www/orchidbel.by/system/storage/download/');
define('DIR_LOGS', '/var/www/orchi156/data/www/orchidbel.by/system/storage/logs/');
define('DIR_MODIFICATION', '/var/www/orchi156/data/www/orchidbel.by/system/storage/modification/');
define('DIR_UPLOAD', '/var/www/orchi156/data/www/orchidbel.by/system/storage/upload/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', '');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'orchi156_by');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
 

конфиг из /admin

Скрытый текст

<?php
// HTTP
define('HTTP_SERVER', 'https://orchidbel.by/admin/');
define('HTTP_CATALOG', 'https://orchidbel.by/');

// HTTPS
define('HTTPS_SERVER', 'https://orchidbel.by/admin/');
define('HTTPS_CATALOG', 'https://orchidbel.by/');

// DIR
define('DIR_APPLICATION', '/var/www/orchi156/data/www/orchidbel.by/admin/');
define('DIR_SYSTEM', '/var/www/orchi156/data/www/orchidbel.by/system/');
define('DIR_IMAGE', '/var/www/orchi156/data/www/orchidbel.by/image/');
define('DIR_LANGUAGE', '/var/www/orchi156/data/www/orchidbel.by/admin/language/');
define('DIR_TEMPLATE', '/var/www/orchi156/data/www/orchidbel.by/admin/view/template/');
define('DIR_CONFIG', '/var/www/orchi156/data/www/orchidbel.by/system/config/');
define('DIR_CACHE', '/var/www/orchi156/data/www/orchidbel.by/system/storage/cache/');
define('DIR_DOWNLOAD', '/var/www/orchi156/data/www/orchidbel.by/system/storage/download/');
define('DIR_LOGS', '/var/www/orchi156/data/www/orchidbel.by/system/storage/logs/');
define('DIR_MODIFICATION', '/var/www/orchi156/data/www/orchidbel.by/system/storage/modification/');
define('DIR_UPLOAD', '/var/www/orchi156/data/www/orchidbel.by/system/storage/upload/');
define('DIR_CATALOG', '/var/www/orchi156/data/www/orchidbel.by/catalog/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', '');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'orchi156_by');
define('DB_PORT', '3306');

Сейчас ситуация следующая: удалил магазин, установил заново. Результат: после выставления в ПУ магазина SSL HTTPS сразу заработал на всех страницах. Файлы конфигов проверил, там править было нечего.   .htaccess решил просто переименовать. Сейчас начал настраивать ЧПУ. При его включении все страницы витрины отдают ошибку 404 (кроме главной). Не знаю насколько это все взаимосвязано с HTTP, но ЧПУ хотелось бы настроить.

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


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

В настройках хостинга (besthost.by) режим работы PHP. Стояло FastCGI (Nginx + php-fpm), поменял на LSAPI и включил ЧПУ на сайте.

Все стало на свои места, работает.

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


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

Здравствуйте.   При попытке сделать 301 редирект с http на https  - получаю ошибку ERR_TOO_MANY_REDIRECTS

адрес: https://kanceptkrama.by/

Хостинг - active.by/ Shared

ocStore 2.3.0.2.3

Шаблон - corsica ( на основе default - есть переписка с автором, где высылает шаблон после оплаты)

config.php - 

Скрытый текст

<?php
// HTTP
define('HTTP_SERVER', 'https://kanceptkrama.by/');

// HTTPS
define('HTTPS_SERVER', 'https://kanceptkrama.by/');

 

 

 config.php в admin  -

Скрытый текст

<?php
// HTTP
define('HTTP_SERVER', 'https://kanceptkrama.by/admin/');
define('HTTP_CATALOG', 'https://kanceptkrama.by/');

// HTTPS
define('HTTPS_SERVER', 'https://kanceptkrama.by/admin/');
define('HTTPS_CATALOG', 'https://kanceptkrama.by/');

 

.htaccess  -

Скрытый текст

# 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))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteBase /

RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/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]

 Если #RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]  раскомментировать  - получаю ERR_TOO_MANY_REDIRECTS.

Screaming Frogом -  вот такую картину получаю -

Скрытый текст

image.thumb.png.4d8af407ba895598b471a7b401bdbad1.png 

 *Редирект добавлял после  'RewriteBase /' и после 'RewriteEngine On'

 

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


Ссылка на сообщение
Поделиться на других сайтах
В 11.01.2019 at 23:50, k1rilenko сказал:

*Редирект добавлял после  'RewriteBase /' и после 'RewriteEngine On'

А в robots.txt что у вас?

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


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

А в robots.txt что у вас?

Скрытый текст

User-agent: *
Sitemap: httрs://kanceptkrama.by/sitemap.xml
Disallow: /
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter=
Disallow: /*&filter=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=

User-agent: Yandex
Sitemap: httрs://kanceptkrama.by/sitemap.xml
Disallow: /
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter=
Disallow: /*&filter=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Clean-param: tracking

Disallow: / - убирал, изменений ноль. Вернул обратно что-бы не попали страницы в индекс.

Может такое быть из-за кэша изображений ? 

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


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

Может такое быть из-за кэша изображений ? 

Вы редирект средствами хостинга не включаете случаем?

Он должен быть либо в ПУ, либо в .htaccess, но только один раз.

У хостера пробовали спрашивать какую они рекомендуют конструкцию использовать?

 

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


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

Вы редирект средствами хостинга не включаете случаем?

Нет, пустота там.

Скрытый текст

image.thumb.png.4b4c9be85682532beea1b51e114d339b.png

 

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


Ссылка на сообщение
Поделиться на других сайтах
Может кому пригодится -  такой вариант сработал для хостинга active.by! 
Скрытый текст

 

RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://example.by/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.by/$1 [R=301,L]

 

 
*  теперь не работает ЧПУ, ссылку получаю в виде https://kanceptkrama.by/index.php?_route_=man/ и соответственно не открывается страница с той же ошибкой ERR_TOO_MANY_REDIRECTS.
На страницах, где ЧПУ не было задано, все отрабатывается нормально
Подскажите пожалуйста, куда копать. Тип ЧПУ - SeoPro

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: RHCk
      ВАЖНО! ТЕМА ЗАКРЫТА. ОБНОВЛЕННАЯ ИНСТРУКЦИЯ ДЛЯ ПЕРЕХОДА НА HTTPS - >>>ЗДЕСЬ<<<
       
      Правила Темы:
       
      UPD24.10.2016 Данная инструкция актуальна для Opencart.PRO и Opencart.CMS версий 2.1.0.2.2 и выше!
      UPD02.11.2016 Важное дополнение по Ukraine.com.ua от @Yoda в Пункте 10.2
      UPD08.01.2017 Дополнение от @markimax в Пункте 3.4 о том, нужно ли удалять модуль HTTP FIX после склейки зеркал.
      UPD04.02.2017 Добавлен Раздел 12 - Дополнение для версий 1.5.X.
      UPD28.02.2017 Добавлена информация для настройки обмена по HTTPS с программами от 1С - ЗДЕСЬ.
      UPD16.03.2017 Обновлен список авторизационных (удостоверяющих) центров (CA).
      UPD07.03.2018 Яндекс заменит директиву HOST на 301-й редирект - больше информации ЗДЕСЬ.
       
       
      0. ВАЖНО! Перед началом любых экспериментов не забываем делать бэкап файлов и базы сайта!!!
       
      1. Для перехода на SSL (HTTPS) нужен сертификат, получить его можно здесь:
       
      2. Далее необходимо установить сертификат на сервер, либо активировать его в ПУ, либо передать его хостинг-провайдеру для установки на сервер (на котором размещен ваш сайт). Более подробно о данной процедуре можно узнать у техподдержки хостера.
       
      3. Настраиваем CMS для работы с SSL.
      3.1 В файлах /config.php и admin/config.php делаем замены:
      3.2 Устанавливаем этот модуль. Отдельно благодарим комрадов @Yoda, @savage4pro и @markimax, которыми он был написан.
      Настройка CMS на данном этапе завершена.
      3.3 Дополнительная информация от @savage4pro о работе модуля:
      3.4 Нужно ли удалять модуль после склейки зеркал?
       
      4.  Далее необходимо настроить редирект с HTTP на HTTPS.
      Ситуация здесь двоякая, если сразу настроить редирект, в большинстве случаев позиции в выдаче ПС будут потеряны. Явление временное, но неприятное.
      Посему, согласно изысканиям и рекомендациям комрадов @Yoda и @savage4pro (если о ком-то не написал, отпишитесь, исправлю), с редиректом мы повременим до момента склейки зеркал сайта поисковиками (зеркала - сайт на HTTP и на HTTPS).
      Делаем следующее в файле robots.txt:
      если sitemap вашего сайта не отдается фидом, добавляем в обе секции (User-agent: * и User-agent: Yandex) файла robots.txt следующие директивы:
      Sitemap: httрs://mysite.com/sitemap.xml в секции для Яндекса (User-agent: Yandex) добавляем директиву Host: Host: https://<ваш_сайт> если sitemap вашего сайта отдается фидом, отдаем ПСам новый фид (по HTTPS); добавляем новый сайт на HTTPS в Вебмастеры ПС; наблюдаем и ждём момента когда главным зеркалом станет сайт на HTTPS и произойдёт склейка зеркал. Вебмастеры ПС:
       
      5. Добавляем в Вебмастеры Яндекса и Гугла HTTPS-версии вашего сайта. В Вебмастере Яндекса наблюдаем и ждём момента, когда зеркала будут склеены. Для тех у кого не очень много товаров в каталоге или много свободного времени идём Инструменты -> Переобход страниц и каждый день добавляем по 10 ссылок (с HTTPS), тем самым заставляя Яшу чуть быстрее индексировать ваш сайт по HTTPS.
       
      6. Дополнительная информация:
      от Яши - здесь и здесь от Гоши - здесь и здесь.  
      7. Когда склейка зеркал произошла, остается дело за малым - настроить редирект.
      7.1 Идём "Система -> Настройки -> Редактировать -> Вкладка Сервер -> Использовать SSL: выбираем Да. ДО склейки зеркал НЕ включаем.
      7.2 И тут, на мой взгляд, основные танцы с бубном. Обновленный seo_pro (с версии 2.1.0.2.2) позволяет избавиться от танцев с бубном вокруг .htaccess, делая внесение изменений в него не обязательными.
       
      Написать о результатах и задать вопрос можно в теме поддержки модуля.
       
      Если вы всё же приняли решение настроить редирект в .htaccess, для вас информация далее.
      В виду того, что у разных хостинг-провайдеров разные настройки серверов, необходимо выбрать тот вариант редиректа, который будет работать. Как проверить напишу чуть ниже.
      Важный момент! Подразумевается, что редирект с "с www" на "без www", или наоборот, у вас уже настроен. Если нет, смотрите здесь.
      ВАЖНО! Изменения вносятся в файл .htaccess в корневом каталоге сайта.
      ВАЖНО! Редиректы в файле .htaccess необходимо добавлять сразу после строки с 'RewriteBase /'. Если не работает, попробуйте поставить выше, сразу после строки с  'RewriteEngine On'. О результатах экспериментов пишите в этой теме.
      7.3 Варианты редиректов:
      7.3.1 Редиректы от @Yoda:
      7.3.2 Редиректы от @savage4pro:
      7.3.3 Редирект от Timeweb.ru:
      7.3.4 Редирект для Ukraine.com.ua:
      7.3.5 Редирект для Masterhost.ru (говорим спасибо @Yoda здесь?
      7.3.6 Редирект для webhost1.ru:
      7.3.7 Редирект для связки nginx и Apache:
      7.3.8 Редирект для jino.ru от @markimax:
       
      8. Проверка. Чтобы проверить корректность работы произведенных изменений необходимо сделать следующее:
      8.1 Если у вас настроен редирект с "с www" на "без www"
      идём на сайт по HTTP с WWW, должны получить HTTPS без WWW; идём на сайт по HTTP без WWW, должны получить HTTPS без WWW; идём на сайт по HTTPS с WWW, должны получить HTTPS без WWW. 8.2 Если у вас настроен редирект с "без www" на "с www"
      идём на сайт по HTTP с WWW, должны получить HTTPS с WWW; идём на сайт по HTTP без WWW, должны получить HTTPS с WWW; идём на сайт по HTTPS без WWW, должны получить HTTPS с WWW. 8.3 Отдельно можно проверить как после всех изменений ваш сервер отдает статические файлы, например, фото товаров.
      Зайдите на страницу товара, скопируйте ссылку на фото товара, вставьте её в строку браузера и поэкспериментируйте согласно пунктам 8.1 - 8.2, и посмотрите по какому протоколу будет отдаваться статика. 
      8.4 У некоторых хостинг-провайдеров есть возможность включить редирект в ПУ. Тут следует обратить внимание на то, каким редиректом будет осуществляться переадресация - 301-м или 302-м. Нужен 301-й. Как посмотреть? Можно здесь. Также показывает редирект Screaming Frog SEO Spider, браузер тоже показывает. Пробуйте.
      8.5 Проверьте сайт на наличие ссылок по HTTP. Это могут быть ссылки в статьях или описаниях товаров. Необходимо изменить в них HTTP на HTTPS или сделать их относительными, т.е. без доменного имени сайта.
       
      9. ВАЖНО! Все внешние скрипты, стили, шрифты и прочие iframe должны подключаться строго по HTTPS и никак иначе! В противном случае получим кучу ошибок в консоли браузера и корявости на сайте. 
       
      10. Решения для хостинг-провайдеров:
      10.1 Хостинг-провайдер Timeweb.ru:
      10.2 Хостинг-провайдер Ukraine.com.ua:
       
      ПОЛЕЗНО! Сервис для тестирования установленного сертификата QUALYS SSL LABS
       
      11. Небольшой эксперимент с инструментом "Переобход страниц":
      11.1 Сайт, около 600 товаров, переставил на HTTPS.
      11.2 В вебмастере Яндекса сделал "переезд на https" получил ответ, что скоро всё произойдёт. До сих пор жду.
      11.3 Добавил отдельно тот же сайт, но по HTTPS, так "Переобход" работает.
      11.4 Добавляю каждый день по 10 страниц (без повторений) в "Переобход страниц".
      11.5 Результат (И - страниц в индексе, П - страниц в поиске):
      11.6 Вывод - профит от инструмента ясен и понятен.
      P.S. Ну а если вы всё ещё ждёте Яшу в гости, ну что ж ждите
       
      12. Переход на HTTPS для OC версий 1.5.X
      12.0 См. Пункт 0 настоящей Инструкции.
      12.1 Устанавливаем сертификат (Пункт 1 настоящей Инструкции). На shared хостингах в ПУ хостинга все редиректы должны быть выключены.
      12.2 В файлах /config.php и admin/config.php делаем замены:
      12.3 Делаем следующее в файле robots.txt:
      если sitemap вашего сайта не отдается фидом, добавляем в обе секции (User-agent: * и User-agent: Yandex) файла robots.txt следующие директивы:
      Sitemap: httрs://mysite.com/sitemap.xml в секции для Яндекса (User-agent: Yandex) добавляем директиву Host: Host: https://<ваш_сайт> если sitemap вашего сайта отдается фидом, отдаем ПСам новый фид (по HTTPS); добавляем новый сайт на HTTPS в Вебмастеры ПС; наблюдаем и ждём момента когда главным зеркалом станет сайт на HTTPS и произойдёт склейка зеркал. 12.4 В .htaccess добавляем один из редиректов (обращаем внимание на комментарии):
      Редирект ставим между директивами RewriteEngine On и RewriteBase /
      Первая строка и нижние строки добавлены для ориентира.
      12.5 Идём Система -> Настройки -> Нажать 'Изменить' -> Вкладка 'Сервер' -> Использовать SSL выбираем ДА.
      12.6 Производим проверку согласно Раздела 8 настоящей инструкции.
       
      P.S. На некоторых хостингах (из-за настроек серверов) не работают, либо работают некорректно, редиректы в .htaccess. Можно поэкспериментировать с редиректами из Пунктов 7.3.1 и 7.3.3 настоящей Инструкции, попытаться запросить правильный редирект у хостинг-провайдера, или включить редиректы в ПУ хостинга (предварительно откатив все изменения касающиеся редиректов в .htaccess).
    • Автор: 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 пользователей

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