Habilitación del filtro de redirección de URL

Cuando habilita el filtrado de redirección de URL, HCL Commerce rechaza las solicitudes que intentan redirigir a un sitio no autorizado. Esta característica se utiliza para evitar los ataques de suplantación en los que un enlace que se encuentre en el sitio HCL Commerce envía al comprador a otro sitio.

Los ejemplos de redirección de URL incluyen:
  • El parámetro URL en un mandato de URL
  • reLogonURL en el mandato de URL Logon
  • Los URL definidos como acciones de pulsación en la herramienta Marketing. Por ejemplo, select * from collateral where URL like 'http%'

Procedimiento

  1. Abra el archivo de configuración de HCL Commerce.
    • Para una tienda local (migrada desde IBM Websphere Commerce Version 7 o IBM Websphere Commerce Version 8), se encuentra dentro de Transaction server Docker container (ts-app).
    • Para una tienda remota, se encuentra dentro de Store server Docker container (crs-app).
  2. Localice el módulo web en el que desea habilitar esta característica.
    Por ejemplo, si desea habilitar esta característica para el módulo web Stores, modifique la sección siguiente:
    <Module contextPath="/webapp/wcs/stores"
    	fileServletEnabled="false" name="Stores"
    	urlMappingPath="/servlet" webAlias="/wcsstore">
    	<InitParameters adapters="XML/HTTP, BrowserAdapter" 
    	contextSetName="Store" handleDoubleClick="true"/>
    </Module>
    
    Nota: Si desea habilitar esta característica para la vista previa de la tienda, debe modificar la vía de acceso de contexto del módulo de la manera siguiente: Module contextPath="/webapp/wcs/preview" .
  3. Añada una línea de configuración de URLRedirectFilter dentro de la definición de Module, tal y como se muestra en el ejemplo siguiente:
    <Module contextPath="/webapp/wcs/stores" 
    	fileServletEnabled="false" name="Stores"
    	urlMappingPath="/servlet" webAlias="/wcsstore">
    	<InitParameters adapters="XML/HTTP, BrowserAdapter" 
    	contextSetName="Store" handleDoubleClick="true"/>
    	<URLRedirectFilter enable="true">
    	<AllowedHost name="www.mycompany1.com"/>
    	<AllowedHost name="www.mycompany2.com"/>
    	<AllowedDomain name="mycompany3.com"/>
    	</URLRedirectFilter>
    </Module>
    

    El uso de estos elementos se describe en la lista siguiente:

    URLRedirectFilter
    Especifica si la protección contra la vulnerabilidad Cross-Site Scripting está habilitada.

    Para especificarlo, establezca el valor dentro del enabled elemento. Por ejemplo, <URLRedirectFilter enable="true">.

    Los valores aceptados son:
    • true para habilitado.
    • false para inhabilitado.
    AllowedHost
    Especifica un nombre de host al que HCL Commerce permite la redirección. De forma predeterminada, si esta característica está habilitada, el nombre de host de servidor web que está configurado para la instancia de HCL Commerce se añade a la lista de hosts permitidos.

    Para especificar un nombre de host, utilice el elemento name. Por ejemplo, <AllowedHost name="www.mycompany2.com"/>.

    AllowedDomain
    Especifica un dominio entero al que HCL Commerce permite la redirección. Utilice este elemento si desea permitir la redirección a todos los hosts en un dominio.

    Para especificar un dominio, utilice el elemento name. Por ejemplo, <AllowedDomain name="mycompany3.com"/>.

Ejemplo

En el ejemplo anterior se habilitó la redirección de URL desde el módulo web de tiendas. HCL Commerce permite la redirección del módulo web de tiendas a cualquiera de los siguientes hosts:
  • www.mycompany1.com
  • www.mycompany2.com
  • www.mycompany3.com
  • myhost.mycompany3.com
  • myhost2.mycompany3.com

HCL Commerce bloqueará los hosts siguientes:

  • www.mycompany4.com
  • myhost.mycompany1.com

Qué hacer a continuación

Empaquete los cambios en el archivo de configuración de HCL Commerce para el despliegue.