ADC
Gracias por los comentarios

Este artículo ha sido traducido automáticamente. (Aviso legal)

Operaciones para la codificación HTTP, HTML y XML y los caracteres “seguros”

Las siguientes operaciones funcionan con la codificación de datos HTML en una solicitud o respuesta y de datos XML en un cuerpo POST.

  • <text>.HTML_XML_SAFE: Transforma los caracteres especiales en formato XML seguro, como en los siguientes ejemplos:

    Un corchete angular que apunta hacia la izquierda (<) se convierte en < Un corchete angular que apunta a la derecha ( ) se convierte a > Un símbolo (&) se convierte en & Esta operación protege contra los ataques de scripts entre sitios . La longitud máxima del texto transformado es de 2048 bytes. Se trata de una operación de solo lectura.

    Tras aplicar la transformación, los operadores adicionales que especifique en la expresión se aplicarán al texto seleccionado. A continuación se presenta un ejemplo:

    http.req.url.query.html_xml_safe. contains (“myQueryString”)

  • <text>.HTTP_HEADER_SAFE: Convierte todos los caracteres de línea nuevos (“\n”) del texto de entrada en “%0A” para permitir que la entrada se utilice de forma segura en los encabezados HTTP.

    Esta operación protege contra los ataques que dividan las respuestas.

    La longitud máxima del texto transformado es de 2048 bytes. Se trata de una operación de solo lectura.

  • <text>.HTTP_URL_SAFE: Convierte los caracteres de URL no seguros en valores “%xx”, donde “xx” es una representación hexadecimal del carácter de entrada. Por ejemplo, el signo & se representa como %26 en la codificación segura para URL. La longitud máxima del texto transformado es de 2048 bytes. Se trata de una operación de solo lectura.

    Los siguientes son caracteres seguros para URL. Todos los demás no son seguros:

    • Caracteres alfanuméricos: a-z, A-Z, 0-9
    • Astérix: “*”
    • Amperand: “&”
    • Signo de AT: “@”
    • Dos puntos: “:”
    • Coma: “,”
    • Dólar: “$”
    • Punto:”. “
    • Es igual a: “=”
    • Signo de exclamación: “! “
    • GuIÓN: “-“
    • Abrir y cerrar paréntesis: “(“, “)”
    • Porcentaje: “%”
    • Más: “+”
    • Punto y coma: “;”
    • Comilla simple: “’”
    • Barra oblicua: “/”
    • Signo de interrogación: “? “
    • Título: “~”
    • Subrayado: “_”
  • <text>.MARK_SAFE:

    Marca el texto como seguro sin aplicar ningún tipo de transformación de datos.

  • <text>.SET_TEXT_MODE(URLENCODED|NOURLENCODED)

    Transforma toda la codificación %HH del flujo de bytes. Esta operación funciona con caracteres (no con bytes). De forma predeterminada, un solo byte representa un carácter en la codificación ASCII. Sin embargo, si especifica el modo URLENCODED, tres bytes pueden representar un carácter.

    En el siguiente ejemplo, una operación PREFIX (3) selecciona los 3 primeros caracteres de un destino.

    http.req.url.hostname.prefix(3)

    En el siguiente ejemplo, NetScaler puede seleccionar hasta 9 bytes del objetivo:

    http.req.url.hostname.set_text_mode(urlencoded).prefix(3)

  • <text>.SET_TEXT_MODE(PLUS_AS_SPACE|NO_PLUS_AS_SPACE):

    Especifica cómo tratar el carácter positivo (+). La opción PLUS_AS_SPACE reemplaza un carácter positivo por un espacio en blanco. Por ejemplo, el texto “hola+mundo” pasa a ser “hola mundo”. “ La opción NO_PLUS_AS_SPACE deja los caracteres positivos como están.

  • <text>.SET_TEXT_MODE(BACKSLASH_ENCODED|NO_BACKSLASH_ENCODED):

    Especifica si la decodificación de barras invertidas se realiza o no en el objeto de texto representado por <text>.

    Si se especifica BACKSLASH_ENCODED, el operador SET_TEXT_MODE realiza las siguientes operaciones en el objeto de texto:

    • Todas las apariciones de “\ XXX” se sustituirán por el carácter “Y” (donde XXX representa un número en el sistema octal e Y representa el equivalente ASCII de XXX). El rango válido de valores octales para este tipo de codificación es de 0 a 377. Por ejemplo, los textos codificados “http\ 72//” y http\ 072//” se decodificarán en <http://>, donde los dos puntos (:) son el equivalente en ASCII del valor octal “72”.
    • Todas las apariciones de “\ xHH” se sustituirán por el carácter “Y” (HH representa un número en el sistema hexadecimal e Y indica el equivalente ASCII de HH). Por ejemplo, se decodificará el texto codificado “http\ x3a//” <http://>, donde los dos puntos (:) son el equivalente en ASCII del valor hexadecimal “3a”.
    • Todas las apariciones de “\ uWWxx” se sustituirán por la secuencia de caracteres “YZ” (donde WW y XX representan dos valores hexadecimales distintos e Y y Z representan sus equivalentes en ASCII de WW y XX, respectivamente). Por ejemplo, se decodificarán los textos codificados “http%u3a2f/” y “http%u003a//” <http://>, donde “3a” y “2f” son dos valores hexadecimales y los dos puntos (:)) y la barra diagonal (“/”) representan sus equivalentes en ASCII, respectivamente.
    • Todas las apariciones de “\ b”, “\ n”, “\ t”, “\ f” y “\ r” se sustituyen por los caracteres ASCII correspondientes.

    Si se especifica NO_BACKSLASH_ENCODED, no se realiza la decodificación de barras invertidas en el objeto de texto.

  • <text>.SET_TEXT_MODE(BAD_ENCODE_RAISE_UNDEF|NO_BAD_ENCODE_RAISE_UNDEF):

    Realiza la acción indefinida asociada si están configurados los modos URLENCODED o BACKSLASH_ENCODED y se encuentra una codificación incorrecta correspondiente al modo de codificación especificado en el objeto de texto representado por <text>.

    Si se especifica NO_BAD_ENCODE_RAISE_UNDEF, la acción indefinida asociada no se realizará cuando se detecte una codificación incorrecta en el objeto de texto representado por <text>.

La versión oficial de este contenido está en inglés. Para mayor comodidad, parte del contenido de la documentación de Cloud Software Group solo tiene traducción automática. Cloud Software Group no puede controlar el contenido con traducción automática, que puede contener errores, imprecisiones o un lenguaje inadecuado. No se ofrece ninguna garantía, ni implícita ni explícita, en cuanto a la exactitud, la fiabilidad, la idoneidad o la precisión de las traducciones realizadas del original en inglés a cualquier otro idioma, o que su producto o servicio de Cloud Software Group se ajusten a cualquier contenido con traducción automática, y cualquier garantía provista bajo el contrato de licencia del usuario final o las condiciones de servicio, o cualquier otro contrato con Cloud Software Group, de que el producto o el servicio se ajusten a la documentación no se aplicará en cuanto dicha documentación se ha traducido automáticamente. Cloud Software Group no se hace responsable de los daños o los problemas que puedan surgir del uso del contenido traducido automáticamente.
Operaciones para la codificación HTTP, HTML y XML y los caracteres “seguros”