Comprobar HTTPS con PHP

Comprobar HTTPS con PHP

Programador, Servidor

HTTP y HTTPS son protocolos que se utilizan para la transferencia de datos hoy en día. HTTP es el acrónimo de Hypertext Transfer Protocol (protocolo de transferencia de hiper texto). HTTPS es lo mismo pero en modo Secure.

La diferencia entre estos dos protocolos es la forma en la que se transmiten los datos. Mientras que si utilizamos HTTP los datos viajan desprotejidos y accesibles a terceras partes, en el protocolo HTTPS los datos se cifran (SSL) antes de enviarlos.

Dicho de otro modo SSL funciona así:

  1. El navegador intenta conectarse a un sitio protegido con SSL.
  2. El navegador solicita que el servidor web se identifique.
  3. El servidor envía una copia de su certificado SSL al navegador.
  4. El navegador comprueba si el certificado SSL es de confianza. Si es así, envía un mensaje al servidor.
  5. El servidor devuelve un acuse de recibo firmado digitalmente para comenzar una sesión SSL cifrada.
  6. Los datos cifrados se comparten entre el navegador y el servidor.

El certificado SSL es el encargado de garantizar que la comunicación no se podrá leer ni manipular y que la información transmitida no será accesible a terceros.

La información enviada utilizando HTTPS está asegurada por el protocolo TLS (Transport Layer Security), que ofrece 3 capas de seguridad:

Cifrado . El cifrado garantiza que los datos transmitidos no pueden ser accedidos ni manipulados por terceras personas.

Integridad de los datos. Los datos no puede ser modificado durante la transferencia, sin ser detectado.

Autenticación. Asegura que el cliente se comunica con la página o sitio deseado.


En el apartado de posicionamiento online, existe la creencia de que Google da valor a poseer un certificado SSL. Sea o no verdad, a día de hoy es impensable que una tienda online, por poner un ejemplo, no disponga de el.

A los clientes les aporta la seguridad de saber que están conectándose de forma segura a dónde ellos realmente desean.

Let’s Encrypt es una entidad certificadora, respaldada por la Fundación Linux, que ofrece certificados SSL abiertos, libres, gratuitos y automáticos.

Comprobar si el servidor dispone de HTTPS

El lenguaje de programación PHP nos proporciona una variable llamada $_SERVER, con información sobre el dominio, queries, etc de la url que está ejecutando la aplicación.

Podemos realizar la comprobación del siguiente modo:




if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
 // NO DISPONE DE CONEXIÓN HTTPS 
}

Leave a reply