2010-10-05 10 views
10

Na standardowej stronie "broszury" mam podsystem, w którym prywatne dane są przekazywane w szeregu stron. Witryna została wykonana i działa teraz bez HTTPS.Co muszę kodować, aby korzystać z HTTPS?

Czy ktoś może wskazać mi listę kroków, które muszę wykonać, aby zaimplementować protokół HTTPS w bezpiecznej części witryny?

+0

możliwe duplikat [FORCE SSL/https używając .htaccess oraz mod \ _rewrite] (http://stackoverflow.com/questions/4398951/force-ssl-https-using- htaccess-and-mod-rewrite) – Trilarion

Odpowiedz

7

Strona musi być skonfigurowana samodzielnie, nie jest to związane z samym php w tym momencie.

Na twoim lokalnym komputerze uważam, że używasz serwera Apache jako serwera WWW. Tak więc dla Apache'a potrzebujesz zainstalować certyfikat, Apache musi słuchać portu https (domyślnie 443).

Można zobaczyć ten link może pomóc: http://www.onlamp.com/pub/a/onlamp/2008/03/04/step-by-step-configuring-ssl-under-apache.html

Ponadto, we wszystkich sekcjach witryny internetowej trzeba użyć protokołu https w adresie URL, a nie http. E.g. https://example.com

+1

dzięki za link! – sdfor

+0

@ Witam serdecznie :) – Andron

+0

Link jest zepsuty teraz – bubble

5

Nie ma zmiany kodu PHP. HTTPS oznacza dane, które będą szyfrowane w komunikacji między przeglądarką a serwerem internetowym. Przeglądarka jest już skonfigurowana dla HTTPS, wszystko co musisz zrobić, to skonfigurować swój serwer WWW. Najprawdopodobniej możesz dokonać całej zmiany z samego panelu sterowania hostingu.

Jeśli chcesz wymusić HTTPS, można użyć jednej linijce kodu mod_rewrite

+0

A dla tego jednego kodu linii zobacz na przykład: http: //stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite – Trilarion

15

Jedyną rzeczą, którą jako programista musisz zrobić, to sprawdzenie, czy użytkownik faktycznie używa https:

if($_SERVER['SERVER_PORT'] !== 443 && 
    (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) { 
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); 
    exit; 
} 

Następnie (poproś sysadmin) zamów i zainstaluj certyfikat SSL na serwerze WWW.

0

Spróbuj tego:

<?php 
    if ($_SERVER['HTTPS'] != 'on') { 
    echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>'; 
    } 
?> 
Powiązane problemy