Codeigniter – Obligar a cargar página sin utilizar caché

En varias ocasiones, necesitaremos que una página no se guarde en caché. El tipo ejemplo es cuando vamos de una página a otra, y pulsamos posteriormente el botón Atrás del navegador. Este problema surge en muchísimas ocasiones por temas de loguinación, pasarelas de pago… vamos:

El problema del botón atrás del navegador y la seguridad

En Codeigniter podemos utilizar un método que obliga a que obliguemos a cargar siempre del servidor, sin utilizar la caché del navegador:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MiControlador extends CI_Controller {
...
public function verpaginasincache(){
...
// En el controlador, antes de cargar el view dentro de una función
$data["mensaje"]= "Un ejemplo para que el navegador no utilice caché y obligue siempre a cargar la página desde el servidor";
// Evitamos cache para que no puedan hacer botón atrás desde la siguiente página
$this->output->set_header('Expires: Sat, 26 Jul 2000 05:00:00 GMT');
$this->output->set_header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
$this->output->set_header('Cache-Control: post-check=0, pre-check=0', FALSE);
$this->output->set_header('Pragma: no-cache');
// Cargamos la vista en cuestión
$this->load->view('lavistasincache', $data);
...
}
...
}

De esta manera, cada vez que llamemos a esta función del controlador, obliga a cargarlo desde el servidor y no utilizará la caché del navegador. Para ello, hemos utilizado las función set_header de la librería Output, que cambia los headers de la página comunicando al navegador que no las guarde.

Artículos relacionados

Frameworks para php Cuando hay que crear proyectos serios hay que recurrir a un Framework que lo apoye. La palabra seriedad la aplico a proyectos medianos-grandes que nec...
Codeigniter redireccionar toda la web a SSL 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 w...
CodeIgniter – Tiempo expiración de las sesio... Este es uno de esos artículo breves y que no tienes en cuenta, hasta que surge el problema. Haces la aplicación con Codeigniter, trabajas con sesiones...
CodeIgniter – Genera un fichero CSV a partir... Si utilizáis el FrameWork CodeIgniter, generar ficheros CSV a partir de una consulta es relativamente sencillo. Os explicamos cómo. Vamos a ir ...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*