2010-04-01 22 views

Respuesta

24

HTTP Cookies no son una característica de PHP, ni una característica de Javascript: son solo lenguajes de programación que permiten que un desarrollador los manipule.


La mayor diferencia entre JS y PHP es que:

  • Javascript se ejecuta en el lado del cliente
  • PHP se ejecuta en el lado del servidor

Pero las galletas siguen siendo los mismos: se definen como un estándar - vea RFC 2965.


Sin embargo, tenga en cuenta que los navegadores modernos implementan las cookies que no son accesibles desde JavaScript (véase la opción de httponlysetcookie) - lo que significa que, dependiendo del navegador, y la forma en que se establece una cookie, se podría no ser accesible desde Javascript.

Esta es una medida de seguridad - y no es una diferencia entre "js galletas" y "galletas php": Es sólo una propiedad de algunas galletas.

+0

Y esa propiedad 'httponly' se puede cambiar muy fácilmente por el cliente usando algún complemento gratuito como _EditThisCookie_ Chrome Extension. – Ankit

0

Una cookie es solo un archivo almacenado en la computadora cliente, y generalmente contiene un nombre, valor y caducidad. Las cookies se envían dentro del encabezado de una solicitud de página HTTP, por lo que no están disponibles de inmediato (a menos que utilice el almacenamiento en búferes de salida). Las cookies son buenas para datos no confidenciales, ya que se encuentran fácilmente a través de la configuración del navegador del cliente.

Las cookies también se pueden utilizar para crear variables de sesión, que se almacenan en el servidor. En este caso, el valor de cookie es un índice que el servidor usa para identificar sus valores. Este es un mejor enfoque para datos más confidenciales, ya que solo un valor "sin sentido" reside en la computadora del cliente.

Teniendo esto en cuenta, las cookies y los datos de sesión (así como los datos GET y POST) son variables Super Global, lo que significa que pueden ser utilizados tanto por JavaScript como por PHP. Una vez más, la única pega es que las cookies pueden no estar disponibles de inmediato, dependiendo de cómo funciona su secuencia de comandos y la configuración de almacenamiento en búfer de salida.