diff --git a/reference/session/reference.xml b/reference/session/reference.xml index 25caf1dbb5..754d76a1e3 100644 --- a/reference/session/reference.xml +++ b/reference/session/reference.xml @@ -1,83 +1,78 @@ - + - Session handling functions - Sessions + Funciones para el manejo de sesiones + Sesiones - Session support in PHP consists of a way to preserve certain data - across subsequent accesses. This enables you to build more - customized applications and increase the appeal of your web site. + El apoyo que PHP proporciona para las sesiones consiste en una forma de + conservar ciertos datos a lo largo de los subsiguientes accesos, lo cual + le permite construir aplicaciones más personalizadas e incrementar el + atractivo de su sitio web. - If you are familiar with the session management of PHPLIB, you - will notice that some concepts are similar to PHP's session - support. + Si ya está familiarizado con el tratamiento de sesiones de PHPLIB, + notará que algunos conceptos son similares al soporte de las sesiones + de PHP. - A visitor accessing your web site is assigned an unique id, the - so-called session id. This is either stored in a cookie on the - user side or is propagated in the URL. + A cada visitante que accede a su web se le asigna un identificador único, + llamado "session id" (identificador de sesión). Éste se almacena + en una cookie por parte del usuario o se propaga en la URL. - The session support allows you to register arbitrary numbers of - variables to be preserved across requests. When a visitor accesses - your site, PHP will check automatically (if session.auto_start is - set to 1) or on your request (explicitly through - session_start or implicitly through - session_register) whether a specific session - id has been sent with the request. If this is the case, the prior - saved environment is recreated. + El soporte de las sesiones le permite registrar un número arbitrario de + variables que se conservarán en las siguientes peticiones. Cuando un + visitante acceda a su web, PHP comprobará automáticamente (si + session.auto_start está puesto a 1) o cuando usted lo especifique (de forma + explícita mendiante session_start o implícita a través + de session_register) si se le ha enviado un "session id" + específico con su petición, en cuyo caso se recrean las variables que se + habían guardado anteriormente. - All registered variables are serialized after the request - finishes. Registered variables which are undefined are marked as - being not defined. On subsequent accesses, these are not defined - by the session module unless the user defines them later. + Todas las variables registradas son almacenadas tras finalizar la petición. + Las variables que están indefinidas se marcan como no definidas. En los + subsiguientes accesos, no estarán definidas por el módulo de sesiones a + menos que el usuario las defina más tarde. - The track_vars and - register_globals - configuration settings influence how the session variables get - stored and restored. + Las opciones de configuración track_vars y register_globals influyen + notablemente en la forma en que las variables de la sesión se almacenan + y restauran. - As of PHP 4.0.3, track_vars is - always turned on. + A partir de PHP 4.0.3, track_vars siempre está activado. - As of PHP 4.1.0, $_SESSION is available as - global variable just like $_POST, - $_GET, $_REQUEST and so on. - Not like $HTTP_SESSION_VARS, - $_SESSION is always global. Therefore, - global should not be used for - $_SESSION. + A partir de PHP 4.1.0, $_SESSION está disponible como + variable global, al igual que $_POST, $_GET, + $_REQUEST y demás. Al contrario que + $HTTP_SESSION_VARS, $_SESSION siempre es + global. Por tanto, no se debe usar global para $_SESSION. - If track_vars is - enabled and register_globals - is disabled, only members of the global associative array - $HTTP_SESSION_VARS can be registered as session - variables. The restored session variables will only be available - in the array $HTTP_SESSION_VARS. + Si track_vars está activado y + register_globals está + desactivado, sólo los miembros del vector asociativo global + $HTTP_SESSION_VARS pueden ser registrados como variables de + la sesión. Las variables restauradas de la sesión sólo estarán disponibles en + el vector $HTTP_SESSION_VARS. - Registering a variable with <link + Registrar una variable con <link linkend="ini.track-vars"><literal>track_vars</literal></link> - enabled + activado - Use of $_SESSION (or - $HTTP_SESSION_VARS with PHP 4.0.6 or less) is - recommended for security and code readablity. With - $_SESSION or - $HTTP_SESSION_VARS, there is no need to use - session_register()/session_unregister()/session_is_registered() - functions. Users can access session variable like a normal - variable. + Se recomienda usar $_SESSION (o + $HTTP_SESSION_VARS con PHP 4.0.6 o inferior) por seguridad + y para hacer el código más legible. Con $_SESSION o + $HTTP_SESSION_VARS, no es necesario usar las funciones + session_register() / session_unregister() / session_is_registered(). Los usuarios + pueden acceder a una variable de la sesión como si se tratase de una variable + normal. - Registering a variable with $_SESSION. + Registrar una variable con $_SESSION. - Unregistering a variable with $_SESSION. + Borrar una variable con $_SESSION. ]]> @@ -137,40 +131,39 @@ unset($_SESSION['count']); - If register_globals - is enabled, then all global variables can be registered as session - variables and the session variables will be restored to - corresponding global variables. Since PHP must know which global - variables are registered as session variables, users must register - variables with session_register() function while - $HTTP_SESSION_VARS/$_SESSION - does not need to use session_register(). + Si register_globals + está activado, todas las variables globales pueden ser registradas como + variables de la sesión, y las variables de la sesión serán restauradas a sus + correspondientes variables globales. Como PHP debe saber qué variables + globles están registradas como variables de la sesión, los usuarios deben + registrar las variables con la función session_register(), mientras que con + $HTTP_SESSION_VARS/$_SESSION no es + necesario usar session_register(). - If you are using + Si está usando $HTTP_SESSION_VARS/$_SESSION - and disable register_globals, - do not use session_register, - session_is_registered and + no use session_register, + session_is_registered ni session_unregister. - If you enable register_globals, - session_unregister should be used since - session variables are registered as global variables when - session data is deserialized. Disabling register_globals - is recommended for both security and performance reason. + session_unregister debería ser usado a partir de + que las variables de la sesión sean registradas como variables + globales cuando los datos de la sesión se guardan. Se recomienda + desactivar register_globals + por motivos de seguridad y rendimiendo. - Registering a variable with <link + Registrar una variable con <link linkend="ini.register-globals"><literal>register_globals</literal></link> - enabled + activado - If both track_vars and - register_globals - are enabled, then the globals variables and the - $HTTP_SESSION_VARS/$_SESSION - entries will reference the same value for already registered - variables. + Si track_vars y + register_globals + están activados, las variables globales y las entradas de + $HTTP_SESSION_VARS/$_SESSION harán + referencia al mismo valor para variables ya registradas. - If user use session_register() to register session variable, - $HTTP_SESSION_VARS/$_SESSION - will not have these variable in array until it is loaded from - session storage. (i.e. until next request) + Si el usuario utiliza session_register() para registrar una variable, el + vector $HTTP_SESSION_VARS/$_SESSION + no contendrá esa variable hasta que se cargue de los datos de la sesión. + (p.ej. hasta la próxima petición). - There are two methods to propagate a session id: + Hay dos formas de propagar un "session id": @@ -213,33 +203,32 @@ else { - URL parameter + Parámetro en la URL - The session module supports both methods. Cookies are optimal, but - since they are not reliable (clients are not bound to accept - them), we cannot rely on them. The second method embeds the - session id directly into URLs. + El módulo de sesiones admite ambas formas. Las Cookies son la mejor + opción, pero como no son fiables (los clientes no están obligados a aceptarlas), + no podemos confiar en ellas. El segundo método incrusta el "session id" + directamente en las URLs. - PHP is capable of doing this transparently when compiled with - - --enable-trans-sid. If you enable this option, - relative URIs will be changed to contain the session id - automatically. Alternatively, you can use the constant - SID which is defined, if the client did not - send the appropriate cookie. SID is either of - the form session_name=session_id or is an empty - string. + PHP es capaz de hacerlo de forma transparente al usuario cuando se compila con + + --enable-trans-sid. Si activa esta opción, las URIs relativas + serán modificadas de forma que contengan el session id automáticamente. + Alternativamente, puede usar la constante SID que está + definida, si el cliente no envía la cookie adecuada. El SID + puede tener la forma de nombre_de_sesion=session_id o ser + una cadena vacía. - The following example demonstrates how to register a variable, and - how to link correctly to another page using SID. + El ejemplo siguiente demuestra cómo registrar una variable, y cómo colocar + correctamente un enlace a otra página usando la constante SID. - Counting the number of hits of a single user + Contar el número de impresiones de un usuario -Hello visitor, you have seen this page times.

; +Hola, visitante. Has visto esta página veces. ( can be used if short tag is enabled) -# is necessary to preserve the session id -# in the case that the user has disabled cookies +# el (Se puede usar si short tag está activado) +# es necesario para conservar el session id +# en caso de que el usuario haya desactivado las cookies ?> -To continue, click here +Para continuar, haga click aquí. ]]> - The <?=SID?> is not necessary, if + El <?=SID?> no es necesario si se ha usado - --enable-trans-sid was used to compile PHP. + --enable-trans-sid al compilar PHP. - Non-relative URLs are assumed to point to external sites and - hence don't append the SID, as it would be a security risk to - leak the SID to a different server. + Se asume que las URLs no relativas apuntan a sitios web externos, + y por tanto no se añade el SID, ya que pasar el SID a un servidor + diferente podría ocasionar un agujero de seguridad. - To implement database storage, or any other storage method, you - will need to use session_set_save_handler to - create a set of user-level storage functions. + Para implementar el almacenamiento en bases de datos o en otro tipo + de almacenamiento, necesitará usar + session_set_save_handler() para crear una + colección de funciones de almacenamiento a nivel de usuario. - The session management system supports a number of configuration - options which you can place in your &php.ini; file. We will give a - short overview. + El sistema de control de sesiones soporta varias opciones de + configuración que puede colocar en su archivo &php.ini;. Les daremos + un pequeño repaso. - session.save_handler defines the name of the - handler which is used for storing and retrieving data - associated with a session. Defaults to - files. + session.save_handler define el nombre del + controlador que se usa para almacenar y recuperar los datos + asociados a la sesión. Su valor por defecto es files. - session.save_path defines the argument which - is passed to the save handler. If you choose the default files - handler, this is the path where the files are created. - Defaults to /tmp. If - session.save_path's path depth is more than - 2, garbage collection will not be performed. + session.save_path define el argumento que se + pasa al controlador de almacenamiento. Si elige el controlador de + archivos por defecto, esta es la ruta donde los archivos se crean. + Por defecto es /tmp. Si la profundidad de la + ruta de session.save_path es mayor que 2, no se + llevará a cabo la recolección de basura. - If you leave this set to a world-readable directory, such as - /tmp (the default), other users on the - server may be able to hijack sessions by getting the list of - files in that directory. + Si lo deja apuntando a un directorio con permiso de lectura por el + resto de usuarios, como /tmp (la opción por + defecto), los demás usuarios del servidor pueden conseguir robar + las sesiones obteniéndolas de la lista de archivos de ese directorio. - session.name specifies the name of the - session which is used as cookie name. It should only contain - alphanumeric characters. Defaults to - PHPSESSID. + session.name especifica el nombre de la sesión que + se usa como nombre de la cookie. Sólo debería contener caracteres + alfanuméricos. Por defecto vale PHPSESSID. - session.auto_start specifies whether the - session module starts a session automatically on request - startup. Defaults to 0 (disabled). + session.auto_start especifica si el módulo de las + sesión inicia una sesión automáticamente al comenzar la petición. Por + defecto está 0 (desactivado). - session.cookie_lifetime specifies the lifetime of - the cookie in seconds which is sent to the browser. The value 0 - means "until the browser is closed." Defaults to - 0. + session.cookie_lifetime especifica la duración de + la cookie en segundos que se manda al navegador. El valor + 0 significa "hasta que se cierra el navegador", y + es el que se encuentra por defecto. - session.serialize_handler defines the name - of the handler which is used to serialize/deserialize - data. Currently, a PHP internal format (name - php) and WDDX is supported (name - wddx). WDDX is only available, if PHP is - compiled with WDDX - support. Defaults to php. + session.serialize_handler define el nombre del + controlador que se utiliza para guardar y restaurar los datos. + Actualmente se soportan un formato interno de PHP (cuyo nombre es + php) y WDDX (cuyo nombre es + wddx). WDDX sólo está disponible si PHP está + compilado con Soporte para WDDX. Por + defecto es php. - session.gc_probability specifies the - probability that the gc (garbage collection) routine is started - on each request in percent. Defaults to 1. + session.gc_probability especifica la probabilidad + de que se inicie la rutina gc (garbage collection - recoleción de + basura) en cada petición en porcentaje. Por defecto es 1. - session.gc_maxlifetime specifies the number - of seconds after which data will be seen as 'garbage' and - cleaned up. + session.gc_maxlifetime especifica el número de segundos + tras los cuales los datos se considerarán como 'basura' y serán + eliminados. - session.referer_check contains the substring you - want to check each HTTP Referer for. If the Referer was sent by the - client and the substring was not found, the embedded session id will - be marked as invalid. Defaults to the empty string. + session.referer_check contiene la subcadena que usted + quiera que se compruebe en cada "HTTP Referer" (N.T.: Página desde donde + proviene el enlace a la página actual). Si el "Referer" fue enviado por + el cliente y la subcadena no se ha encontrado, el session id incrustado + será marcado como inválido. Por defecto es una cadena vacía. - session.entropy_file gives a path to an - external resource (file) which will be used as an additional - entropy source in the session id creation process. Examples are - /dev/random or - /dev/urandom which are available on many - Unix systems. + session.entropy_file indica la ruta a un recurso + externo (un archivo) que se usará como fuente adicional de entropía + en el proceso de creación de session id's. Por ejemplo + /dev/random o /dev/urandom, + que están disponibles en muchos sistemas Unix. - session.entropy_length specifies the number - of bytes which will be read from the file specified - above. Defaults to 0 (disabled). + session.entropy_length especifica el número + de bytes que serán leidos del archivo indicado más arriba. Por + defecto es 0 (desactivado). - session.use_cookies specifies whether the - module will use cookies to store the session id on the client - side. Defaults to 1 (enabled). + session.use_cookies indica si el módulo + puede usar cookies para guardar el session id en el lado del + cliente. Por defecto está a 1 (activado). - session.cookie_path specifies path to set - in session_cookie. Defaults to /. + session.cookie_path especifica la ruta a + colocar en session_cookie. Por defecto es /. - session.cookie_domain specifies domain to - set in session_cookie. Default is none at all. + session.cookie_domain especifica el dominio + a establecer en session_cookie. Por defecto no se especifica + ninguno en ningún caso. - session.cache_limiter specifies cache - control method to use for session pages - (none/nocache/private/private_no_expire/public). Defaults to - nocache. + session.cache_limiter especifica el método + de control del caché a usar en las páginas de la sesión + (none/nocache/private/private_no_expire/public). Por defecto es + nocache (no guardar las páginas en el caché). - session.cache_expire specifies time-to-live - for cached session pages in minutes, this has no effect for - nocache limiter. Defaults to 180. + session.cache_expire especifica el + tiempo-de-vida de las páginas de la sesión que se encuentran en + el caché en minutos. No tiene efecto para el limitador nocache. + Por defecto vale 180. - session.use_trans_sid whether transparent sid support - is enabled or not if enabled by compiling with - - --enable-trans-sid. - Defaults to 1 (enabled). + session.use_trans_sid indica si la inclusión + del sid transparente está activada o no, si fue activada + compilando con + --enable-trans-sid. Por defecto está a + 1 (activado). - url_rewriter.tags spefifies which html tags are - rewritten to include session id if transparent sid support is enabled. - Defaults to a=href,area=href,frame=src,input=src,form=fakeentry + url_rewriter.tags especifica qué etiquetas + html serán reescritas para incluir el session id si la inclusión + del sid transparente está activada. Las etiquetas por defecto son + a=href,area=href,frame=src,input=src,form=fakeentry - Session handling was added in PHP 4.0. + El manejo de sesiones fue añadido en PHP 4.0.