jueves, 8 de septiembre de 2016

Unidad 7 Curso PHP

Cookies

PHP soporta cookies HTTP de forma transparente. Las Cookies son un mecanismo por el cuál se almacenan datos en el browser remoto y así rastrear o identificar a usuarios que vuelven. Se pueden configurar Cookies usando la función setcookie() o setrawcookie(). Las Cookies son parte del header HTTP, así es que setcookie() será llamada antes que cualquier otra salida sea enviada al browser. Esta es la misma limitación que tiene la función header().

Algunos envíos de cookies desde el cliente serán incluidos automáticamente en el Array auto-global $_COOKIE si variables_order contiene "C". Si se desea asignar múltiples valores a una cookie, solo se deben agregar [] al nombre de la cookie.
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

Ejemplo:

$fecha_exp=time()+10;
$path=dirname($_SERVER['REQUEST_URI']).'/';
setcookie($nombre,$valor,$fecha_exp,$path,'',0);

Verificar en el navegador si la cookie fue creada satisfactoriamente.

Ejercicio 2:

Crear un contador de accesos utilizando cookies. De forma que cada vez que el usuario visite la pagina muestre el número de veces que ha entrado.


Sessiones
El soporte para sesiones en PHP consiste en una forma de preservar cierta información a través de accesos subsiguientes. Esto habilita la construcción de aplicaciones más personalizadas e incrementar el atractivo de su sitio web.
Un visitante que accede a su sitio web se el asigna un id único, también llamado id de sesión. Éste es almacenado en una cookie en el lado del cliente o se propaga en la URL.
El soporte para sesiones le permite registrar un número arbitrario de variables para preservarlas a través de las peticiones. Cuando un visitante accede a su sitio, PHP comprobará automáticamente (si session.auto_start está establecido a 1) o sobre su petición (explícitamete a través de session_start() o implícitamente a través de session_register()) si un id de sesión específico ha sido enviado con la petición. Si éste es el caso, se recrea el entorno anteriormente guardado.
Directivas a configurar para el manejo de sesiones:

session.save_path string: Este es la ruta donde los archivos son creados

session.name string : especifica el nombre de la sesión que se usa como nombre de cookie. Sólo debería contener caracteres alfanuméricos. Por defecto es PHPSESSID.

session.gc_probability integer: se usa junto con session.gc_divisor para manejar la probabilidad de que la rutina de gc (garbage collection, recolección de basura) está iniciada. Por defecto es 1.

session.gc_divisor integer: session.gc_divisor junto con session.gc_probability define la probabilidad de que el proceso de gc (garbage collection, recolección de basura) esté iniciado en cada inicialización de sesión. La probabilidad se calcula usando gc_probability/gc_divisor, p.ej. 1/100 significa que hay un 1% de probabilidad de que el proceso de GC se inicie en cada petición. session.gc_divisor por defecto es 100.
session.gc_maxlifetime integer: session.gc_maxlifetime especifica el número de segudos transcurridos después de que la información sea vista como 'basura' y potencialmente limpiada. La recolección de basura puede suceder durante el inicio de sesiones (dependiendo de session.gc_probability y session.gc_divisor).

session.use_cookies boolean: especifica si el módulo usará cookies para almacenar el id de sesión en la parte del cliente. Por defecto es 1 (habilitado).

session.use_only_cookies boolean: especifica si el módulo sólo usará cookies para almacenar el id de sesión en la parte del cliente. Habilitar este ajuste previene ataques que impican pasar el id de sesión en la URL. Este ajuste fue añadido en PHP 4.3.0. Por defecto es 1 (habilitado) desde PHP 5.3.0.

Pasos para crear una session simple utilizando cookies y archivos para almacenar e identificar una session:

1. Inicializar directivas en tiempo de ejecución si es necesario:

ini_set("session.use_cookies","1");
ini_set("session.gc_probability","100");
ini_set("session.gc_divisor","100");
ini_set("session.gc_maxlifetime","10");

2. Definir la estructura que tendrá nuestra session (nombre, tiempo de vida de la cookie, id):

//Parametros de la cookie de session o se setean asi: ini_set("session.cookie_lifetime","60");
$tiempo_vida=600;
session_set_cookie_params($tiempo_vida);
           
//Nombre de la session
$session_nombre='daniel';
           
//Asignacion del nombre de session
session_name($session_nombre);

//Asigna un ID definido por el usuario o por el paso de una variable por URL. Si esto no se utiliza PHP generara un ID automáticamente.
session_id($_GET[$id]);

3. Iniciar la session.:

//Inicio de session
session_start();

4. Almacenar variables en la session:

$_SESSION['login']='darm';
$_SESSION['pass']='123456';

No hay comentarios:

Publicar un comentario