Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-27 GMT+08:00

Validación de URL

Escenario de la aplicación

Algunos sitios fraudulentos pueden robar enlaces de otros sitios para enriquecer su contenido sin ningún costo. El robo de enlaces perjudica los intereses de los sitios web originales y también es una tensión en sus servidores. OBS proporciona validación de URL para resolver este problema.

En HTTP, el campo Referer permite que los sitios web y los servidores web identifiquen desde dónde los visitan las personas. La validación de URL de OBS utiliza este campo Referer. La idea es que una vez que encuentres que una solicitud a tu recurso no se origina desde una fuente autorizada (por ejemplo, una URL), puedes bloquear o redirigir la solicitud a una página web específica. De esta manera, OBS evita el acceso no autorizado a los datos almacenados en los bucket.

Dicha autorización se controla mediante una lista blanca y una lista negra.

Reglas de configuración de referencia:

  • La longitud de una lista blanca o negra no puede exceder los caracteres de 1,024.
  • Formato de referencia:
    • Puede introducir varios referentes, cada uno en una línea.
    • El parámetro referer admite asteriscos (*) y signos de interrogación (?). Un asterisco funciona como un comodín que puede reemplazar cero o varios caracteres, y un signo de interrogación (?) puede reemplazar a un solo carácter.
    • Si el campo de encabezado de referencia contiene http o https durante la descarga, el referente debe contener http o https.
  • Si los Referentes de la lista blanca se dejan en vacío pero los Referentes de la lista negra no lo hacen, todos los sitios web, excepto los especificados en la lista negra, pueden acceder a los datos del bucket de destino.
  • Si los Referentes de la Lista Blanca no se dejan en vacío, solo los sitios web especificados en la lista blanca pueden acceder al bucket de destino sin importar si los Referentes de la Lista Negra se dejan en blanco o no.

Si los Referentes de la lista blanca se configuran de la misma manera que los Referentes de la lista negra, la lista negra tiene efecto. Por ejemplo, si tanto los Referentes de la lista blanca como los Referentes de la lista negra están configurados en https://www.example.com, se bloquearán las solicitudes de acceso desde esta dirección.

  • Si tanto los Referentes de la lista blanca como los Referentes de la lista negra se dejan en blanco, todos los sitios web pueden acceder a los datos del bucket de destino de forma predeterminada.
  • Antes de determinar si un usuario tiene los cuatro tipos de permisos (Lectura, Escritura, Vista de ACL y Edición de ACL) para un bucket u objetos en el bucket, compruebe si este usuario cumple con los principios de validación de URL del campo Referer.

Métodos de configuración de listas blancas y negras:

  • Configuración de la lista blanca

    Al establecer una lista blanca, puede permitir solicitudes de los sitios web en la lista blanca, pero denegar las de los sitios web que no están en la lista blanca.

    Para las solicitudes que se inicializan desde el cuadro de dirección de un navegador, puede agregar el campo ${null} a Referer of Condition para especificar si se permiten las solicitudes HTTP con un referer en blanco.

    Para configurar una lista blanca, consulte la siguiente política:

    "Statement":[ 
        {"Sid": "1", 
         "Effect": "Allow", 
         "Principal": {"ID":["*"]}, 
         "Action": "*", 
         "Resource":["bucket/*"], 
        }, 
        {"Sid":"2", 
         "Effect":"Deny", 
         "Principal":{"ID":["*"]}, 
         "Action":["*"], 
         "Resource":["bucket/*"],
         "Condition":{ 
             "StringNotEquals": 
             {"Referer":["http://www.example01.com","${null}"]} 
          } 
        } 
    ]

    Si establece una lista blanca de esta manera, solo las solicitudes cuyo referer está establecido en www.example01.com o dejado en blanco pueden trabajar en los recursos de los bucket.

  • Configuración de la lista negra

    Para configurar una lista negra, consulte la siguiente política:

    "Statement":[ 
        {"Sid":"1", 
         "Effect":"Deny", 
         "Principal":{"ID":["*"]}, 
         "Action":["*"], 
         "Resource":["bucket/*"],                              
         "Condition":{ 
             "StringEquals": 
                {"Referer":["http://www.example01.com","http://www.example02.com"]} 
          } 
        } 
    ]

    Si estableces una lista negra de esta manera, las solicitudes cuyo referer está establecido en www.example01.com o www.example02.com no pueden trabajar en recursos en los bucket.

¿Cómo usar esta función?

Puede usar la consola OBS o las API para configurar la validación de URL.