GNU/Linux >> Tutoriales Linux >  >> Linux

Guzzle y Sucuri:Corrección de errores de solicitud 403

Al usar el cliente GuzzleHTTP si el dominio con el que está interactuando usa Sucuri, puede encontrar algunos resultados inesperados. En general, los problemas se presentan en forma de códigos de respuesta de error 4XX o 5XX. Por extraño que parezca, el problema se presenta cuando la URL funciona normalmente en el navegador (o curl), pero presenta un 403 inexplicable con Guzzle. Parte de su kilometraje puede variar según la configuración y configuración de Securi de los dominios, ¡pero este consejo generalmente lo puede llevar por el camino correcto!

Reparación de errores 403 al usar Guzzle con Sucuri

Si tiene un problema con "OBTENER" una página usando Guzzle pero la URL funciona normalmente en un navegador, intente esto. Si configura su cliente Guzzle para usar algunos encabezados específicos, entonces podría ayudar a Securi a aceptar su solicitud. En estos casos, el problema no es realmente con Securi, su código o servidor, sino que el problema es que su solicitud desencadena un falso positivo en su sistema. Al configurar estos encabezados, puede indicarle a Securi que su solicitud no es maliciosa.

Pruebe la siguiente configuración de cliente de Guzzle:

$guzzle = new Client([
  'headers' => [
    'User-Agent' => 'Name of your tool/v1.0',
    'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding' => 'gzip, deflate, br',
  ],
]);

¿Qué pueden proporcionar estas opciones?

Las opciones de Guzzle utilizadas aquí son simplemente los encabezados opción. Esta opción usa una matriz para configurar los encabezados HTTP que le gustaría usar con las solicitudes. ¡La opción es súper simple de usar, solo configura la clave de encabezado en la clave y el valor del encabezado en el valor! Aquí estamos usando los siguientes encabezados:

  • User-Agent:este encabezado es una cadena que describe las características del software que realiza la solicitud. Ayuda a los pares de la red a identificar el tipo de aplicación, el sistema operativo, el proveedor de software y las versiones. ¡La clave aquí es establecer uno que describa la herramienta que está usando y construyendo! (Así que actualice el "Nombre de su herramienta" para que se ajuste).
  • Aceptar: este encabezado define el tipo de documento variable y los subtipos aceptados por el software solicitante. En este caso, estamos usando el mismo valor que podría usar un navegador moderno. ¡Puedes seguir adelante y usar este tal como está!
  • Aceptar codificación:este encabezado anuncia qué codificación de contenido es aceptable para la respuesta a utilizar. Generalmente se usa para definir el algoritmo de compresión que el cliente es capaz de entender. En nuestro caso, usamos Gzip, deflate (zlib) y br(Brotli).

¡Con estos 3 encabezados configurados, el falso positivo que se activa en Securi ahora se puede resolver! Puede continuar construyendo/usando su herramienta sin más dolores de cabeza. Y lo mejor de todo es que no es necesario ajustar nada en Securi para solucionar el problema.

Si realmente sabe lo que está haciendo con los encabezados HTTP, probablemente incluso pueda refinar los valores de Aceptar para incluir solo los tipos de documentos con los que desea tratar.

¿Qué es GuzzleHTTP?

Guzzle es un cliente HTTP basado en PHP que se utiliza para simplificar la realización de solicitudes web en PHP. En el pasado, cubrimos cómo usar Composer e incluso usamos Guzzle como uno de los ejemplos. El cliente GuzzleHttp es un contenedor extremadamente fácil de usar para las funciones PHP curl que proporcionan la funcionalidad de cliente HTTP nativo. Piense en Guzzle de la misma manera que usar Curl o un navegador web:le da una URL y obtendrá los recursos que sirve la URL. Sin embargo, está mucho más cerca de curl ya que, de manera similar, carece de un motor de renderizado de un navegador.


Linux
  1. Errores de instalación del complemento de WordPress

  2. 403 ¿Errores prohibidos al trabajar en tu web? Cortafuegos, cortafuegos, cortafuegos

  3. Apache VirtualHost 403 Prohibido

  4. Solicitud HTTP(S) manual

  5. ¿Linux puede limpiar la memoria?

Cómo hacer una solicitud POST con cURL

Cómo instalar el cliente de escritorio Nextcloud en Linux

ADSL Cliente

¿Existe un cliente de OneDrive para Linux?

10 clientes de correo de Linux + 7 clientes de correo de terminal [e instalar]

Solución de problemas:errores de conexión del servidor