Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Як заборонити протокол http для сайту?

  1. Суть проблеми
  2. Рішення
  3. UPDATE: Що робити, якщо потрібно дозволити протокол HTTP тільки для конкретного IP?

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

І тут прибігає сисадмін. Очі на викотив, самого трусить.

- Терміново! - каже, - треба заборонити на сайті компанії протокол HTTP!

- Чого ?, - піднімаю очі від рівних рядків на екрані.

- Юристи подзвонили! Кажуть потрібно залишити тільки HTTPS!

Суть проблеми

В принципі, все до цього йшло. Відразу скажу, що проблема вирішується трьома рядками в файлі .htaccess, але про це трохи нижче.

А суть в тому, що в нашій країні є закон про захист персональних даних. Мало того, що ті хто їх збирають (наприклад, інтернет-магазини, для оформлення замовлення) повинні попереджати покупця. Попереджати про те, що його ПІБ, адреса, паспортні дані (якщо потрібно), телефонний номер, e-mail і т.п. відправляються не просто так, а для обробки!

Мені завжди здавалося, що це взагалі-то логічно. Інакше навіщо я все це вписую? Вже точно не для того, щоб воно пішло в нікуди. Але немає! Закон вимагає попереджати.

Але і це ще не все! Всі надіслані дані повинні відправлятися по шифрованому протоколу (HTTPS). Як то кажуть - припливли.

Рішення

Подивившись юридичним викрутасами, зайшов на сайт, відкрив файл .htaccess і під рядком RewriteEngine On, додав ще три. Ось вони:

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

Усе. Фокус спрацював, оскільки протокол HTTPS вже був встановлений. Просто тепер сайт буде доступний тільки по ньому і не буде доступний по протоколу HTTP. В іншому, нічого не змінилося.

До речі, якщо ви шукали як відключити на сайті протокол HTTP (залишивши тільки HTTPS) і вам допоміг цей рецепт, не соромтеся в подяку заслати мені трохи на чай з печивом.))

Допомогло? Зайшли Админу на чай.

Що стосується самого HTTPS як явища ...

Мене в цій ситуації напружує лише одне - нав'язування HTTPS всім власникам сайтів. Воно йде хоч і поступово, але неухильно.

Чому напружує Чому напружує? Тому, що сертифікат для цього протоколу коштує грошей. Це близько 5000 руб (і вище) в рік з ніфіга.

Тобто до плати за хостинг і домени додасться ще й ця. Якщо витрати на перший і другий, цілком обгрунтовані, то оплата сертифіката - це «продаж повітря».

Моя буйна фантазія запросто придумає ще десяток подібних речей, за які можна зобов'язати платити веб-майстрів. Наприклад, податок на сайт, або ліцензія на використання трафіку.

Це тільки здається нереальним, а за фактом цілком ... Було б бажання. І все це, само-собою, буде виключно для блага власників та відвідувачів сайтів.

Коротше, без коментарів.

UPDATE: Що робити, якщо потрібно дозволити протокол HTTP тільки для конкретного IP?

Потрібно до вже згаданим трьом рядкам додати ще одну. При тому додати її перед рядком з RewriteRule. Ось вона.

RewriteCond% {REMOTE_ADDR}! 92.57.214.12

Ви запитаєте: Навіщо відкривати HTTP-протокол для конкретного IP? Адже HTTPS прогресивніше, защищеннее, сучасніше, понтово в коні-решт.

Справа в тому, що до вашого сайту можуть звертатися якісь ваші програми, парсери і т.п., які не вміють спілкуватися з HTTPS. Наприклад 1C Бухгалтерія.

Звичайно її в підсумку можна налаштувати, але не факт, що ви це зможете своїми силами або швидко, а працювати треба ось уже прямо зараз. На цей випадок вас і виручить чарівна рядок.

Природно, замість 92.57.214.12 потрібно вказати потрібний вам IP, з якого будете відправляти запити.

Чого ?
Інакше навіщо я все це вписую?
Допомогло?
Чому напружує?
UPDATE: Що робити, якщо потрібно дозволити протокол HTTP тільки для конкретного IP?
Ви запитаєте: Навіщо відкривати HTTP-протокол для конкретного IP?

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.