scary.png Happy Halloween! Лови жутко страшный список шаблонов и модулей со скидками.
Jump to content
Sign in to follow this  
Blow

SSL на все страницы сайта

Recommended Posts

Здравствуйте! При стандартной настройке SSL (config.php, admin/config.php) он работает так как ему полагается я полагаю при такой настройке, только на личный кабинет пользователя и админку. Как его настроить на все страницы сайта? 
Версия OC 2.1.0.2.1
P.S решение искал долго. Но находил решения для других версий и они мне не подходили. 
 

Share this post


Link to post
Share on other sites

Нужно еще на хостинге или в htaccess включить редирект с http на https

  • +1 1

Share this post


Link to post
Share on other sites

Кроме этого у вас не должно быть ссылок на странице без https, а это запросто могут быть ссылки в описании или картинки ,где указан полный путь.

  • +1 1

Share this post


Link to post
Share on other sites
11 часов назад, Waha сказал:

Нужно еще на хостинге или в htaccess включить редирект с http на https

 

Спасибо. Редирект сделал через htaccess. Это поисковики воспримут нормально? Сайт новый без трафика. 
 

9 часов назад, Tom сказал:

Кроме этого у вас не должно быть ссылок на странице без https, а это запросто могут быть ссылки в описании или картинки ,где указан полный путь.


Вероятнее всего из за этого у меня сейчас "Подключение к сайту защищено не полностью" Подскажите в какой степи хотя бы искать а то я дуб дубом в этой сфере) Всё на абум делаю)

На данный момент статус "Подключение к сайту защищено не полностью Злоумышленники могут видеть изображения, которые видны вам, и изменять их в целях мошенничества."

Edited by Blow

Share this post


Link to post
Share on other sites
2 часа назад, Blow сказал:

Подскажите в какой степи хотя бы искать а то я дуб дубом в этой сфере) Всё на абум делаю)

 

Самый простой вариант:

1. сделать бэкап

2. в файле бэкапа сделать поиск/замену http://твой-сайт.ru на https://твой-сайт.ru. Как вариант, http:// на //. 

3. восстановить бэкап на сайте.

 

Обычно, если ссылки на сайте заполнялись правильно, то подобных ссылок не много. Чаще всего, попадаются в заказах и в текстах. Некоторые указывают полные пути и в баннерах.

  • +1 1

Share this post


Link to post
Share on other sites

Спасибо. Вообщем как то оно само заработало. =/ Кеш после изменений в htaccess чистил несколько раз, сначала просто Https показывало с  "Подключение к сайту защищено не полностью Злоумышленники могут видеть изображения, которые видны вам, и изменять их в целях мошенничества."

А через пару часов полностью защищённый начал показываться. Может в самом центре сертификации какие то манипуляции подгружались ещё.

Но вот есть такая дилемма что ссылки на подкатегории (второго уровня) и на производителей (может ещё на что то) до сих пор просто http. При переходе по ним переадресовывает на https но хотелось бы изменить на настоящий https)

Или не стоит раз расчехлило "полностью защищённый"?)))

ААА

И есть такое вот дело. После изменений в admin/config
При просмотре заказа, заказ подгружается на половину, всплывает ошибка "error undefended" клацаешь ОК и всё подгружается до конца. В чём может быть проблема?)

 

Edited by Blow

Share this post


Link to post
Share on other sites

В config.php точно всё правильно?

Отмечен ли этот пункт?:

Настройки - Сервер - Использовать SSL

 

  • +1 1

Share this post


Link to post
Share on other sites

 

<?php
// HTTP
define('HTTP_SERVER', 'http://mysite.com.ua/admin/');
define('HTTP_CATALOG', 'http://mysite.com.ua/');

// HTTPS
define('HTTPS_SERVER', 'https://mysite.com.ua/admin/');
define('HTTPS_CATALOG', 'https://mysite.com.ua/');


Ага)))) И Изменить заказ не могу)))

Эта ошибка именно когда этот параметр меняю: define('HTTP_CATALOG', 'http://mysite.com.ua/');

 

34 минуты назад, SiteMix сказал:

Настройки - Сервер - Использовать SSL


Да всё включено.

5918867a80ec1_2.PNG.f5540f37ea62dedc0c137183b8700cd2.PNG591884ab19cd8_.PNG.57d421329da3100a71615c0d2d6d7010.PNG

Edited by Blow

Share this post


Link to post
Share on other sites
18 минут назад, Blow сказал:

И Изменить заказ не могу)))

 

Если исправить в заказах ссылки на https как я написал выше или прямо в phpMyAdmin, то редактирование заказов станет доступным.

 

Для исправления ссылок на сайте можешь попробовать поставить фикс.

Edited by SiteMix
  • +1 1

Share this post


Link to post
Share on other sites

Когда отключаю SSL то могу редактировать заказ и смотреть без ошибки его.
Фикс поставил. Не пофиксило( 

Share this post


Link to post
Share on other sites

Спасибо попробую. 

Share this post


Link to post
Share on other sites

SiteMix, Во время ошибки клацнул на информацию в адресной строке. Было написано что страница пытается загрузить скрипты из непроверенных источников. Разрешил. Загорелось красным HTTPS. Может быть дело в скриптах?

 

 

Файлы с http://mysite нашло только тут(

Снимок.PNG

 

я через тоталкомандер искал? =)))
Может не так как то?

Edited by Blow

Share this post


Link to post
Share on other sites

Для того что бы исправить ситуацию с заказами

 

admin\controller\sale\order.php

 

Найти

$content = $this->load->controller('payment/' . $order_info['payment_code'] . '/order');

заменить на 

if (is_file(DIR_CATALOG . 'controller/payment/' . $order_info['payment_code'] . '.php')) {
	$content = $this->load->controller('payment/' . $order_info['payment_code'] . '/order');
} else {
	$content = null;
}

в этом же файле найти

$data['store_url'] = $order_info['store_url'];

заменить на 

   if ($order_info['store_id'] == 0) {
    $data['store_url'] = isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')) ? HTTPS_CATALOG : HTTP_CATALOG;
   } else {
    $data['store_url'] = $order_info['store_url'];
   }

 

  • +1 3

Share this post


Link to post
Share on other sites

СПАСИБО ДОБРЫЕ ЛЮДИ!

 

Edited by Blow

Share this post


Link to post
Share on other sites

853 строка в этой сборке.

http://joxi.ru/J2bXydDUkV6Mr6

  • +1 1

Share this post


Link to post
Share on other sites
2 минуты назад, Tom сказал:

853 строка в этой сборке.

http://joxi.ru/J2bXydDUkV6Mr6

 

чёт не сработал поиск в первый раз) Сорян) Спасибо огромное Вам. Плюс в карму)))

Share this post


Link to post
Share on other sites

Уточню на всякий случай,для тех кто позже найдёт тему эту.

Первая правка относится к проблеме с модулями оплаты,к примеру использовался в заказах какой то модуль,который позже было решено удалить.Удаляем имеем ошибку в заказе.

Второе это как раз то что относится к примеру к http-https, предположим магазин ранее не использовал сертификат, но в заказах хранится адрес магазина (полная ссылка включая http// ), открываем заказ и ловим ошибку.Так как файл один и тот же описал сразу две проблемы и их решение.

Всем удачных продаж.

  • +1 1

Share this post


Link to post
Share on other sites

Итоги: 

Для того что бы работал https на всех страницах добавляем в htaccess.это:

 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

P.S Полностью защищённый появился у меня сам через час-два после изменения этого.

________________________________________________________________________________________________
 

Что бы не глючило заказы в админке заменяем тут admin\controller\sale\order.php:

 

$content = $this->load->controller('payment/' . $order_info['payment_code'] . '/order');

заменить на 

if (is_file(DIR_CATALOG . 'controller/payment/' . $order_info['payment_code'] . '.php')) {
	$content = $this->load->controller('payment/' . $order_info['payment_code'] . '/order');
} else {
	$content = null;
}

в этом же файле найти

$data['store_url'] = $order_info['store_url'];

заменить на 

   if ($order_info['store_id'] == 0) {
    $data['store_url'] = isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')) ? HTTPS_CATALOG : HTTP_CATALOG;
   } else {
    $data['store_url'] = $order_info['store_url'];
   }

 

 

Share this post


Link to post
Share on other sites

В случае с htaccess , рекомендую всё же писать в техподдержку.Разные хостинги,разные особенности.Данную операцию они весьма охотно выполняют по первому требованию.Ваше решение выше,для многих может вывалить 500 ошибку или какую нибудь бесконечную переадресацию.

Share this post


Link to post
Share on other sites

в техподдержку чего? хостинга? 

Share this post


Link to post
Share on other sites

А есть варианты?

Share this post


Link to post
Share on other sites

Прописал редирект. все сделал как было сказанно выше, но не чего так и не изменилось... ошибка осталась...Tom,

пмцыкпи.jpg

Share this post


Link to post
Share on other sites

Хм, странные проблемы, я просто прописал протокол в конфиги, htaccess подредачил и все норм.

Share this post


Link to post
Share on other sites
1 час назад, ky3mu4 сказал:

Прописал редирект. все сделал как было сказанно выше, но не чего так и не изменилось... ошибка осталась...Tom,

Значит не всё так сделал.

Share this post


Link to post
Share on other sites

Tom,  получилось так:

строка 853 в order/

                        $data['order_id'] = $this->request->get['order_id'];

			$data['store_name'] = $order_info['store_name'];
			if ($order_info['store_id'] == 0) {
			$data['store_url'] = isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')) ? HTTPS_CATALOG : HTTP_CATALOG;
			} else {
			$data['store_url'] = $order_info['store_url'];
			}
			if ($order_info['invoice_no']) {
				$data['invoice_no'] = $order_info['invoice_prefix'] . $order_info['invoice_no'];
			} else {
				$data['invoice_no'] = '';
			}

			$data['date_added'] = date($this->language->get('date_format_short'), strtotime($order_info['date_added']));

 

 

строка 1243

 

 

// Additional Tabs
			$data['tabs'] = array();

			$this->load->model('extension/extension');

			if (is_file(DIR_CATALOG . 'controller/payment/' . $order_info['payment_code'] . '.php')) {
			$content = $this->load->controller('payment/' . $order_info['payment_code'] . '/order');
			} else {
			$content = null;
			}

			if ($content) {
				$this->load->language('payment/' . $order_info['payment_code']);

 

 

 

в htaccess

 

 

# редирект https
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.