eBD:ENCRYPT

Sintaxis:

<eBD:ENCRYPT [VAR="varname"] VALUE="value" [NOT_URL="1" (KEY="key"|SALT="pwd_salt"|DIGEST="digest")] />

Acción:

En versiones anteriores a 3.2, se usaba principalmente para encriptar enlaces a páginas de eBD. A partir de dicha versión, el uso de la instrucción eBD:ENCRYPT para encriptar URLs está DESACONSEJADO . Es preferible usar eBD:LINKTO.

También podemos utilizar eBD:ENCRYPT para encriptar valores usando una clave simetrica (KEY), o para crear un digest de los datos. Los digest válidos son:

MD5, MD5_HEX, MD5_BASE64, SHA1, SHA1_HEX, SHA1_BASE64, HMAC_SHA1, HMAC_SHA1_HEX y HMAC_SHA1_BASE64.

Si existe la variable guarda el resultado en ella, sino lo imprime. El parámetro KEY es opcional, y especifica la semilla que se utilizará para encriptar el valor; debe tener una longitud mínima de 8 carácteres.

En caso de que no se le pase ningún valor, utilizará la misma semilla que se utiliza para encriptar las URL de la sesión.

Otra funcionalidad de eBD:ENCRYPT es la de encriptar textos con el mismo algoritmo de encriptación que se usa para codificar los campos de tipo "Contraseña". Para ello se usa el parámetro SALT, cuyo valor debe ser la semilla (string de 2 carácteres) con la que se quiere encriptar el valor. El resultado encriptado contiene la propia semilla al principio, con lo que para comparar si un password es válido se debe encriptar el password plano usando como semilla la versión encriptada

Ejemplo:

<eBD:ENCRYPT VAR="encripted" VALUE="string a encriptar" NOT_URL="1" DIGEST="MD5"/>
<eBD:ENCRYPT VAR="encripted" VALUE="string a encriptar" NOT_URL="1" KEY="$clave"/>

encripta un password

<eBD:ENCRYPT VAR="codedpwd" VALUE="$password" NOT_URL="1" SALT="$salt"/>

comprueba un password existente

<eBD:ENCRYPT VAR="check" VALUE="$password" NOT_URL="1" SALT="$codedpwd"/>
<eBD:IF EXPR="$check == $codedpwd">

el password es correcto!

</eBD:IF>

eBD:LINKTO

Sintaxis:

<eBD:LINKTO [PAGE="page name" | PAGEID="id page"] [ZONE="zone name" | ZONEID="id page"] (VAR="varname" | GLOBAL="varname" | TEMP="varname") [FRIENDLY_URL="string"] [SECURITY="USER|NONE"] (ARGS="var=value&var=value...")/>

Acción:

Sirve para encriptar los enlaces de eBD, si omitimos el parámetro VAR GLOBAL I TEMP lo añadirá al buffer html de salida.

El parámetro FRIENDLY_URL permite modificar el texto que generan los enlaces si esta activada la opción de "URLs Amigables". Si el valor de este parámetro empieza por /, se usara unicamente este string como path en la URL. Si no es así, se concatenara este string al path generado automaticamente por eBD.

El parámetro SECURITY permite definir el nivel de seguridad de la URL generada. Si no se especifica ninguno se usará el nivel definido en la zona actual.

Los posibles valores son:

  • USER: Se encriptará la URL usando la clave propia del usuario (recomendado).
  • NONE: Se usará la clave del usuario anónimo, con lo que la url será visible por cualquier usuario.

Ejemplo:

<eBD:LINKTO PAGE="home" ZONE="principal" ARGS="param1=44¶m2=333"/>

eBD:DECRYPT

Sintaxis:

<eBD:DECRYPT [VAR="varname"] VALUE="value" [KEY="key"]/>

Acción:

Esta instrucción permite desencriptar un valor encriptado con una clave simértica. Si se especifica un nombre de variable dejará en ella el resultado, en caso contrario se imprimirá el valor desencriptado en el HTML. El Parámetro KEY es opcional, y especifica la semilla utilizada cuando se encriptó el valor, debe tener una longitud mínima de 8 carácteres. En caso de que no se le pase ningún valor, utilizará la misma semilla que se utiliza para encriptar las URL de la sesión.

Ejemplo:

<eBD:DECRYPT VAR="texto_ori" VALUE="$encripted" />

eBD:REDIRECT

Sintaxis:

<eBD:REDIRECT TO="pagename|pageid" [argname="value"]/>

Acción:

Instrucción que al ejecutarse nos redireccionará a la página llamada "pagename" o a aquella cuyo id sea "pageid". Los demás parámetros son enviados como tal.

Ejemplo:

<eBD:REDIRECT TO="home" param1="44" idnot="15"/>