Traducción de vínculos en ISA Server 2004

Publicado: junio 15, 2004

Las páginas Web enviadas a clientes externos desde servidores Web publicados pueden contener vínculos con nombres de host internos. Como los nombres de estos host protegidos no se resuelven para los clientes externos, estos vínculos no funcionan. Además, cuando se envían nombres internos de host a clientes externos, éstos quedan expuestos a posibles piratas informáticos. Para solucionar estos problemas, Microsoft® Internet Security and Acceleration (ISA) Server incluye un filtro Web llamado filtro de traducción de vínculos. Cuando está habilitado, este filtro Web realiza la traducción de vínculos de acuerdo con un conjunto predeterminado de reglas, o en función de un diccionario definido por el usuario que asigna las cadenas que contienen nombres de host internos a cadenas que contienen nombres de host que se pueden resolver públicamente para la regla de publicación Web correspondiente, si el tipo del cuerpo del mensaje especificado en el encabezado Content-Type de la respuesta está incluido en alguno de los conjuntos de tipos de contenido traducible especificados para la regla. De forma predeterminada, la traducción de vínculos se aplica únicamente a los tipos de contenido incluidos en el conjunto de tipos de contenido Documentos HTML, aunque se pueden especificar otros conjuntos. Esta configuración es global para todas las reglas de publicación Web. Tenga en cuenta que ISA Server sólo realiza la traducción de vínculos en las cadenas especificadas en el formato UCS Transformation Format 8 (UTF-8) en los documentos HTML.

En esta página
Habilitar y deshabilitar la traducción de vínculosHabilitar y deshabilitar la traducción de vínculos
Administrar los conjuntos de tipos de contenido traducibleAdministrar los conjuntos de tipos de contenido traducible
Administrar los diccionarios de traducción de vínculosAdministrar los diccionarios de traducción de vínculos

Habilitar y deshabilitar la traducción de vínculos

El código escrito en Microsoft Visual Basic® Scripting Edition (VBScript) incluido en LinkTranslation_Enable.vbs recupera la configuración de la regla de publicación Web especificada por el usuario. A continuación, en función de la acción especificada por el usuario, la secuencia de comandos habilita o deshabilita la traducción de vínculos para la regla estableciendo el valor del parámetro Enabled en el conjunto de parámetros de proveedores para la traducción de vínculos en la colección de conjuntos de parámetros de proveedores de la regla, o indica si la traducción de vínculos está habilitada para la regla de acuerdo con el valor del parámetro Enabled.

Uso:
Cscript LinkTranslation_Enable.vbs  Acción NombreRegla

Acción especifica alguna de las acciones siguientes:

Enable. Habilita la traducción de vínculos para la regla de publicación Web especificada.

Disable. Deshabilita la traducción de vínculos para la regla de publicación Web especificada.

Status. Obtiene el estado de la traducción de vínculos para la regla de publicación Web especificada.

NombreRegla especifica la regla de publicación Web.

Para habilitar la traducción de vínculos para una regla de publicación Web especificada

1.

Defina una constante para el identificador único global (GUID) del conjunto de parámetros de proveedores de traducción de vínculos para una regla de publicación Web ({C202D356-5E93-4813-B737-B6f3E02C246C}).

2.

Declare un objeto FPCPolicyRule, una colección FPCVendorParametersSets y un objeto FPCVendorParametersSet.

3.

Llame a un subprocedimiento que recupere la regla de publicación Web que contiene el nombre transferido a ella mediante los pasos siguientes:

1.

Cree una instancia del objeto COM FPC, que proporcione acceso a los otros objetos COM de administración de ISA Server.

2.

Declare una colección FPCPolicyRules y obtenga una referencia a la colección de reglas de directivas existente.

3.

Obtenga una referencia a la regla de directivas especificada y compruebe que se trata de una regla de publicación Web mediante su propiedad Type. Si la regla no es una regla de publicación Web, notifíqueselo al usuario y omita los demás pasos de este procedimiento.

4.

Obtenga una referencia a la colección FPCVendorParametersSets de la regla.

5.

Obtenga una referencia al objeto FPCVendorParametersSet de la traducción de vínculos existente o cree este objeto, si no existe.

6.

Utilice la propiedad Value del objeto de conjunto de parámetros de proveedores de traducción de vínculos para establecer el valor del parámetro Enabled en True, y llame a Save en la colección FPCVendorParametersSets para guardar los cambios.

Para deshabilitar la traducción de vínculos para una regla de publicación Web especificada

1.

Realice los pasos del 1 al 5 del procedimiento para habilitar la traducción de vínculos.

2.

Utilice la propiedad Value del objeto de conjunto de parámetros de proveedores de traducción de vínculos para establecer el valor del parámetro Enabled en False, y llame a Save en la colección FPCVendorParametersSets para guardar los cambios.

Para obtener el estado de la traducción de vínculos de una regla de publicación Web especificada

1.

Realice los pasos del 1 al 4 del procedimiento para habilitar la traducción de vínculos.

2.

Intente obtener una referencia a un objeto FPCVendorParametersSet de traducción de vínculos existente.

3.

Si existe el conjunto de parámetros de traducción de vínculos, recupere el valor del parámetro Enabled y muestre un mensaje en el que se indique si la traducción de vínculos está habilitada o deshabilitada en función del valor recuperado. Si el conjunto de parámetros de traducción de vínculos no existe, muestre un mensaje en el que se indique que la traducción de vínculos está deshabilitada.

Principio de la páginaPrincipio de la página

Administrar los conjuntos de tipos de contenido traducible

Cuando la traducción de vínculos está habilitada, ISA Server comprueba el encabezado Content-Type de la respuesta para determinar si la traducción de vínculos debe aplicarse al cuerpo del mensaje. Los nombres de los conjuntos de tipos de contenido, que incluyen listas de cadenas correspondientes a encabezados Content-Type, se pueden especificar en un conjunto de parámetros específico asociado al filtro de traducción de vínculos. De forma predeterminada, están disponibles los siguientes conjuntos de tipos de contenido para la especificación de tipos de contenido traducible:

Aplicación

Archivos de datos de la aplicación

Audio

Archivos comprimidos

Documentos

Documentos HTML

Imágenes

Documentos con macros

Texto

Vídeo

VRML

De forma predeterminada, la traducción de vínculos se aplica únicamente a los tipos de contenido incluidos en el conjunto de tipos de contenido Documentos HTML.

El código VBScript de LinkTranslation_EditContentTypes.vbs recupera la colección de conjuntos de parámetros de proveedores asociados al filtro de traducción de vínculos. A continuación, en función de la acción especificada por el usuario, la secuencia de comandos vuelve a la lista predeterminada de tipos de contenido traducible (los tipos de contenido incluidos en el conjunto de tipos de contenido Documentos HTML) borrando todos los conjuntos de tipos de contenido traducible especificados en el conjunto de parámetros de proveedores que define dichos conjuntos, muestra la lista actual de conjuntos de tipos de contenido traducible definidos en la propiedad AllNames de este conjunto de parámetros de proveedores o establece la lista de conjuntos de tipos de contenido traducible.

Uso:
[Cscript] LinkTranslation_EditContentTypes.vbs  Acción [TiposContenido]

Acción especifica alguna de las acciones siguientes:

List. Muestra los conjuntos de tipos de contenido traducible actuales.

Default. Restaura los tipos de contenido traducibles predeterminados.

SetTypes. Define los conjuntos de tipos de contenido traducible especificados (lista delimitada por espacios).

TiposContenido especifica el conjunto de tipos de contenido.

Ejemplo:

LinkTranslation_EditContentTypes.vbs SetTypes HTML [Documentos] Vídeo

Para mostrar los conjuntos de tipos de contenido traducible actuales

1.

Defina constantes para el GUID del filtro de traducción de vínculos ({9DEEF135-75DB-4aab-B2AC-314FBC98EF14}) y para el GUID del conjunto de parámetros de proveedores que especifica los conjuntos de tipos de contenido traducible ({E4FA56DB-7A77-4d13-B421-6641DF2D1AF0}).

2.

Cree una instancia del objeto COM FPC, que proporcione acceso a los otros objetos COM de administración de ISA Server.

3.

Obtenga una referencia a la colección FPCVendorParametersSets asociada al filtro de traducción de vínculos.

4.

Obtenga una referencia al objeto FPCVendorParametersSet que especifica los conjuntos de tipos de contenido traducible.

5.

Si el conjunto de parámetros que especifica los conjuntos de tipos de contenido traducible existe, recupere los nombres de los parámetros, que especifican los conjuntos de tipos de contenido traducible, y muéstrelos. Si el conjunto de parámetros que especifica los conjuntos de contenido traducible no existe, muestre un mensaje en el que se indique que sólo se van a utilizar los tipos de contenido predeterminados.

Para restaurar los tipos de contenido traducibles predeterminados

1.

Realice los pasos del 1 al 3 del procedimiento para mostrar los conjuntos de tipos de contenido traducible actuales.

2.

Llame al método Remove de la colección FPCVendorParametersSets con el GUID del conjunto de parámetros que especifica los conjuntos de tipos de contenido traducible.

3.

Si el conjunto de parámetros que especifica los conjuntos de tipos de contenido traducible se elimina correctamente, llame a Save en la colección FPCVendorParametersSets para guardar los cambios.

Para establecer valores en los conjuntos de tipos de contenido traducible

1.

Realice los pasos del 1 al 3 del procedimiento para mostrar los conjuntos de tipos de contenido traducible actuales.

2.

Llame al método Remove de la colección de conjuntos de parámetros de proveedores con el GUID del conjunto de parámetros que especifica los conjuntos de tipos de contenido traducible para quitar este conjunto de parámetros, en caso de que exista.

3.

Llame al método Add de la colección de conjuntos de parámetros de proveedores con los primeros parámetros establecidos en el GUID del conjunto de parámetros que especifica los conjuntos de tipos de contenido traducible para crear un nuevo conjunto de parámetros vacío para los conjuntos de tipos de contenido traducible.

4.

En un bucle For, para cada conjunto de tipos de contenido traducible especificado en la línea de comandos, llame a la propiedad Value del conjunto de parámetros que define los conjuntos de tipos de contenido traducible para agregar un parámetro cuyo nombre se establezca en el nombre del conjunto de tipos de contenido traducible y cuyo valor se establezca en 1.

5.

Llame a Save en la colección FPCVendorParametersSets para guardar los cambios.

Principio de la páginaPrincipio de la página

Administrar los diccionarios de traducción de vínculos

Cada regla de publicación Web puede tener su propio diccionario de traducción de vínculos, el cual se define en un conjunto de parámetros de proveedores específico asociado a cada regla. Cada entrada de un diccionario es un par de cadenas formado por una cadena que contiene un nombre de host utilizado internamente y otra cadena que contiene un nombre de host que se puede resolver externamente. La cadena interna se especifica como el nombre de un parámetro, y la cadena externa se especifica como su valor.

El código VBScript de LinkTranslation_EditDictionary.vbs permite al usuario administrar los diccionarios de traducción de vínculos para reglas de publicación Web. Según la acción especificada por el usuario, esta secuencia de comandos muestra los diccionarios de traducción de vínculos de todas las reglas de publicación Web, proporciona una lista de todos los pares de cadenas interna/externa incluidos en el diccionario para la regla de publicación Web especificada, quita la entrada especificada del diccionario para la regla indicada, elimina todo el diccionario de la regla especificada y agrega un par de cadenas interna/externa al diccionario para la regla especificada.

Uso:
LinkTranslation_EditDictionary.vbs Acción [NombreRegla] [CadenaInterna] [CadenaExterna]

Acción especifica alguna de las acciones siguientes:

ListAll. Muestra los diccionarios de todas las reglas de publicación Web.

List. Muestra el diccionario de la regla especificada.

Clear. Borra todas las entradas del diccionario de traducción de vínculos de la regla especificada.

Add. Agrega una entrada definida por CadenaInterna y CadenaExterna al diccionario de la regla especificada.

RemoveEntry. Quita la entrada de CadenaInterna del diccionario de la regla especificada.

NombreRegla especifica la regla de publicación Web.

CadenaInterna especifica una cadena que contiene un nombre de host utilizado internamente.

CadenaExterna especifica una cadena que contiene un nombre de host que se puede resolver externamente.

Para mostrar los diccionarios de todas las reglas de publicación Web

1.

Defina una constante para el GUID de un conjunto de parámetros de proveedores que defina un diccionario de traducción de vínculos ({3563FFF5-DF93-40eb-ABC3-D24B5F14D8AA}), y una constante para el valor de enumeración para indicar que una regla de directiva es un regla de publicación Web.

2.

Cree una instancia del objeto COM FPC, que proporcione acceso a los otros objetos COM de administración de ISA Server.

3.

Declare una colección FPCPolicyRules y un objeto FPCPolicyRule.

4.

Obtenga una referencia a la colección de reglas de directivas existente.

5.

En un bucle For, para cada regla de la colección de reglas de directivas, utilice la propiedad Type para determinar si es una regla de publicación Web. Si la regla de directiva es una regla de publicación Web, llame a un subprocedimiento que muestre las entradas incluidas en su diccionario de traducción de vínculos mediante los pasos siguientes:

1.

Declare una colección FPCVendorParametersSets y un objeto FPCVendorParametersSet.

2.

Obtenga una referencia a la colección FPCVendorParametersSets de la regla.

3.

Intente obtener una referencia al objeto FPCVendorParametersSet que define un diccionario de traducción de vínculos en la colección.

4.

Si se obtiene una referencia a un diccionario de traducción de vínculos que no está vacío, en un bucle For, muestre cada nombre (cadena interna) recuperado de la propiedad AllNames seguido de la cadena externa correspondiente, que se obtiene mediante una llamada a la propiedad Value con los parámetros establecidos en la cadena interna.

Para mostrar el diccionario de una regla de publicación Web especificada

1.

Realice los pasos del 1 al 4 del procedimiento para mostrar los diccionarios de todas las reglas de publicación Web.

2.

Recupere el nombre de la regla de publicación Web especificada del segundo argumento de la línea de comandos.

3.

Obtenga una referencia a la regla de directivas especificada y compruebe que se trata de una regla de publicación Web mediante su propiedad Type. Si la regla no es una regla de publicación Web, notifíqueselo al usuario y omita los demás pasos de este procedimiento.

4.

Llame al subprocedimiento descrito en el paso 5 del procedimiento para mostrar los diccionarios de todas las reglas de publicación Web para mostrar las entradas del diccionario de traducción de vínculos de la regla.

Para borrar todas las entradas del diccionario de traducción de vínculos de una regla especificada

1.

Realice los pasos del 1 al 4 del procedimiento para mostrar los diccionarios de todas las reglas de publicación Web.

2.

Recupere el nombre de la regla de publicación Web especificada del segundo argumento de la línea de comandos.

3.

Obtenga una referencia a la regla de directivas especificada y compruebe que se trata de una regla de publicación Web mediante su propiedad Type. Si la regla no es una regla de publicación Web, notifíqueselo al usuario y omita los demás pasos de este procedimiento.

4.

Declare una colección FPCVendorParametersSets y un objeto FPCVendorParametersSet.

5.

Obtenga una referencia a la colección FPCVendorParametersSets de la regla.

6.

Llame al método Remove de la colección FPCVendorParametersSets con los parámetros establecidos en el GUID de un conjunto de parámetros que defina el diccionario de traducción de vínculos para quitar este conjunto de parámetros, en caso de que exista.

7.

Si el diccionario de traducción de vínculos se elimina correctamente, llame a Save en la colección FPCVendorParametersSets para guardar los cambios.

Para agregar una entrada al diccionario de traducción de vínculos de una regla especificada

1.

Realice los pasos del 1 al 4 del procedimiento para mostrar los diccionarios de todas las reglas de publicación Web.

2.

Recupere el nombre de la regla de publicación Web especificada del segundo argumento de la línea de comandos.

3.

Obtenga una referencia a la regla de directivas especificada y compruebe que se trata de una regla de publicación Web mediante su propiedad Type. Si la regla no es una regla de publicación Web, notifíqueselo al usuario y omita los demás pasos de este procedimiento.

4.

Declare una colección FPCVendorParametersSets y un objeto FPCVendorParametersSet.

5.

Obtenga una referencia a la colección FPCVendorParametersSets de la regla.

6.

Intente obtener una referencia al conjunto de parámetros existente que define el diccionario de traducción de vínculos.

7.

Llame al método Add de la colección de conjuntos de parámetros de proveedores con los primeros parámetros establecidos en el GUID del conjunto de parámetros que define el diccionario de traducción de vínculos para crear un nuevo conjunto de parámetros vacío para el diccionario de traducción de vínculos.

8.

Llame a la propiedad Value del conjunto de parámetros que define el diccionario de traducción de vínculos para agregar un parámetro cuyo nombre sea la cadena interna especificada en la línea de comandos y cuyo valor esté establecido en la cadena externa especificada en la línea de comandos.

9.

Llame a Save en la colección FPCVendorParametersSets para guardar los cambios.

Para quitar una entrada del diccionario de traducción de vínculos de una regla especificada

1.

Realice los pasos del 1 al 4 del procedimiento para mostrar los diccionarios de todas las reglas de publicación Web.

2.

Recupere el nombre de la regla de publicación Web especificada del segundo argumento de la línea de comandos.

3.

Obtenga una referencia a la regla de directivas especificada y compruebe que se trata de una regla de publicación Web mediante su propiedad Type. Si la regla no es una regla de publicación Web, notifíqueselo al usuario y omita los demás pasos de este procedimiento.

4.

Declare una colección FPCVendorParametersSets y un objeto FPCVendorParametersSet.

5.

Obtenga una referencia a la colección FPCVendorParametersSets de la regla.

6.

Intente obtener una referencia al conjunto de parámetros existente que define el diccionario de traducción de vínculos. Si este conjunto de parámetros no existe, omita los demás pasos de este procedimiento.

7.

Llame al método RemoveValue del conjunto de parámetros que define el diccionario de traducción de vínculos con los parámetros establecidos en la cadena interna especificada en la línea de comandos para quitar la entrada especificada.

8.

Si la entrada se elimina correctamente, llame a Save en el objeto FPCVendorParametersSet para guardar los cambios.


Principio de la páginaPrincipio de la página