2014  1

#joomla[faq] :: как определить протокол http/https?

Как определить и передать в ссылку значение протокола (http или https) для системы управления контентом Joomla! вы можете узнать из этой статьи…

#joomla[faq] :: как определить протокол http/https?

Итак, вам в ссылку нужно на странице сайта передать точное значение протокола передачи данных http или https. Если вы поставите в ссылку просто http, но на вашем сайте используется шифрование с сертификатом SSL, и протокол в ссылке, соответственно, будет иметь вид https, на страницу данные, которые используют простой, незащищённый http, передаваться не будут. Иными словами, информация по незащищенному каналу, если ваш сайт использует сертификат SSL, передана не будет, и, соответственно, содержимое страницы будет отображено криво-косо, а не так, как вы того хотели.

В админпанели CMS Joomla! есть соответствующий переключатель, который определяет, по какому протоколу (защищенному или не защищенному) будет происходить общение между пользователем и вашим сайтом. Этот переключатель находится «Система->Общие настройки->Сервер->Включить SSL».

Как правило, если ваш домен имеет SSL-сертификат, он используется и в админпанели, и на самом сайте. Соответственно, вышеуказанный переключатель должен быть установлен в положение «Весь сайт».

Если же переключатель «Включить SSL» установлен в иное положение, кроме указанного выше, обмен информацией, которая включает в себя и регистрационные данные пользователей (и ваши в т.ч.) и пароли, будет проходить по незащищённому каналу.

Итак, как же определить и передать в ссылку значение защищенного/не защищенного соединения?

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

<?

/**
 * @package     «ArtInWeb.biz» - Full Stack Web Development
 * @subpackage  file ssl_on_off.php
 *
 * @copyright   Copyright (C) 2004 - 2018 «ArtInWeb.biz», Inc. All rights reserved.
 * @license     MIT
 */

defined('_JEXEC') or die;

if (!isset($protocol)) {

    $ssl = JFactory::getApplication()->get('force_ssl');

    if ($ssl == 0 || $ssl == 1) {
        $protocol = 'http://';
    } else {
        $protocol = 'https://';
    }

} else {

    $protocol = &$protocol;

}

// include JPATH_ROOT . "/templates/your_template/include/ssl_on_off.php";

Из приведенного кода следует, что используя код:

$ssl = JFactory::getApplication()->get('force_ssl');

…мы получаем значение из файла конфигурации CMS Joomla! Если переменная $ssl принимает значение «0» или «1» – передача данных между пользователем и сервером вашего сайта проходит по не защищённому протоколу http. Во всех остальных случаях, по защищённому протоколу https.

Если вам понравилась эта статья – комментируйте, делитесь в социальных сетях (кнопки «Поделиться» слева страницы).

Удачи, Мира и Добра!

Перевод Игорь КРУК

Игорь КРУК

перевод с украинского

Создание лэндингов, сайтов-визиток, корпоративных сайтов, веб-порталов и интернет-магазинов на разных платформах в разумные сроки и…
за разумные деньги.

Если вы уже зарегистрированы на этом сайте, или уже оставляли здесь свои комментарии, отзывы, заявки на участие в акциях, чтобы добавить ещё один комментарий – авторизуйтесь

Добавить комментарий

Комментарии


«ArtInWeb.biz»
  • #18

UA :: У коментарях ви можете щось додати або уточнити, у т.ч. поділитися вашим кодом.


RU :: В комментариях вы можете что-то добавить или уточнить, в т.ч. поделиться вашим кодом.


EN :: In comments you can add or clarify something, including share your code.


© «ArtInWeb.biz» – веб-разработка полного цикла

Последний раз редактировалось: 03/04/2020