2010-10-05 26 views
10

Dentro de un sitio estándar de "folleto" tengo un subsistema donde los datos privados se transfieren en una serie de páginas. El sitio ya está hecho y funcionando sin HTTPS.¿Qué debo codificar para usar HTTPS?

¿Alguien me puede indicar una lista de pasos que debo hacer para implementar HTTPS en la parte segura del sitio?

+0

posible duplicado de [Fuerza SSL/HTTPS utilizando .htaccess y mod \ _rewrite] (http://stackoverflow.com/questions/4398951/force-ssl-https-using- htaccess-and-mod-rewrite) – Trilarion

Respuesta

7

El sitio web debe configurarse, esto no está relacionado con php en este momento.

En su PC local, creo que utiliza Apache como servidor web. Así que para Apache necesita instalar un certificado, Apache necesita escuchar el puerto https (443 por defecto).

Puede ver este enlace, que puede ayudarle a: http://www.onlamp.com/pub/a/onlamp/2008/03/04/step-by-step-configuring-ssl-under-apache.html

Además, en todas las secciones del sitio web es necesario utilizar el protocolo https en la URL, no http. P. ej. https://example.com

+1

gracias por el enlace! – sdfor

+0

@sdfor eres bienvenido :) – Andron

+0

El enlace está roto ahora – bubble

5

No hay cambio de código PHP involucrado. HTTPS significa la información que la comunicación entre el navegador y el servidor web será encriptada. El navegador ya está configurado para HTTPS, todo lo que tienes que hacer es configurar tu servidor web. Lo más probable es que pueda hacer todo el cambio desde su panel de control de alojamiento.

Si desea forzar HTTPS, se puede utilizar un código de mod_rewrite una línea

+0

Y para este código de una línea, ver por ejemplo: http: //stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite – Trilarion

15

La única cosa que como programador tiene que hacer es comprobar que el usuario, de hecho, utiliza HTTPS:

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

Luego, (tenga su administrador de sistemas), pida e instale un certificado SSL en el servidor web.

0

Prueba esto:

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