Tutorial CodeIgniter

Os indico como redireccionar en una web creada con Codeigniter para que siempra, escriban lo que escriban en la barra de dirección accedan a nuestra web vía https://

Es obvio que interpreto que ya tenéis certificado instalado y funcionando. Lo que vamos a hacer es que aunque escriban http://www.miweb.com, accedan a https://www.miweb.com obligatoriamente.

Vamos a hacerlo mediante hooks. Para ello, hacemos estos tres pasos:

1. Activamos hooks en Codeigniter

Vamos al fichero “application/config/config.php” y cambiamos la linea para activar los hooks:

1
$config['enable_hooks'] = TRUE;

2. Creamos/modificamos el fichero hooks.php

Vamos al fichero “application/config/hooks.php” y añadimos el siguiente código. Si el fichero no existe, lo creáis.

1
$hook['post_controller_constructor'][] = array('function' => 'redirect_ssl','filename' => 'ssl.php','filepath' => 'hooks');

3. Creamos el fichero con la función que ejecutará el hook

Creamos el fichero “application/hooks/ssl.php” y añadimos el siguiente contenido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function redirect_ssl() {
$CI =& get_instance();
$class = $CI->router->fetch_class();
$exclude = array('client'); // add more controller name to exclude ssl.
if(!in_array($class,$exclude)) {
// redirecting to ssl.
$CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);
if ($_SERVER['SERVER_PORT'] != 443) redirect($CI->uri->uri_string());
}
else {
// redirecting with no ssl.
$CI->config->config['base_url'] = str_replace('https://', 'http://', $CI->config->config['base_url']);
if ($_SERVER['SERVER_PORT'] == 443) redirect($CI->uri->uri_string());
}
}

De esta manera, obligamos a navegar siempre con https://

Lo he probado y funciona correctament.

Fuente información

Artículos relacionados

CodeIgniter – Seguridad – Evitar XSS e... Siguiendo con los puntos de seguridad de CodeIgniter, vamos a ver cómo podemos hacer nuestros formularios mas seguros. Es sabido que se puede aprovech...
CodeIgniter – Ejemplo Hello World Siguiendo con el post de qyer, os adjunto un pequeño vídeo demostrativo de la programación con el Framework PHP llamado CodeIgniter. El ejemplo es el ...
CodeIgniter – Quitar index.php de la url Para poder trabajar bien las url amigables en CodeIgniter, debemos quitar el index.php que sale por defecto cuando navegas por la aplicación. Hay que ...
CodeIgniter – No mostrar errores en producci... Vayamos por partes y rápido, que ni tu tienes ganas de leer, ni yo de escribir un libro. Esto complementaría otros post al respecto: Errores PHP Fic...