CAPTCHA and Challenge comportement d'action - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CAPTCHA and Challenge comportement d'action

Cette section explique ce que CAPTCHA and Challenge les actions le font.

Lorsqu'une requête Web correspond aux critères d'inspection d'une règle avec CAPTCHA or Challenge action, AWS WAF détermine comment traiter la demande en fonction de l'état de son jeton et de la configuration du temps d'immunité. AWS WAF détermine également si la demande peut gérer les interstitiels du CAPTCHA puzzle ou du script de défi. Les scripts sont conçus pour être traités en tant que HTML contenu, et ils ne peuvent être gérés correctement que par un client qui attend du HTML contenu.

Note

Des frais supplémentaires vous sont facturés lorsque vous utilisez le CAPTCHA or Challenge action de règle dans l'une de vos règles ou en tant que dérogation d'action de règle dans un groupe de règles. Pour plus d’informations, consultez .AWS WAF Tarification.

Comment l'action gère la requête Web

AWS WAF applique le CAPTCHA or Challenge action sur une requête Web comme suit :

  • Jeton valide — AWS WAF gère cela de la même manière qu'un Count action. AWS WAF applique toutes les étiquettes et personnalisations de demande que vous avez configurées pour l'action de règle, puis continue d'évaluer la demande en utilisant les autres règles du WebACL.

  • Jeton manquant, non valide ou expiré — AWS WAF interrompt l'ACLévaluation Web de la demande et l'empêche d'atteindre sa destination prévue.

    AWS WAF génère une réponse qu'il renvoie au client, selon le type d'action de la règle :

    • Challenge – AWS WAF inclut les éléments suivants dans la réponse :

      • L'en-tête x-amzn-waf-action avec une valeur de challenge.

        Note

        Cet en-tête n'est pas disponible pour JavaScript les applications qui s'exécutent dans le navigateur client. Pour plus de détails, consultez la section qui suit.

      • Le code HTTP de statut202 Request Accepted.

      • Si la demande contient un Accept en-tête dont la valeur est égale àtext/html, la réponse inclut une JavaScript page interstitielle contenant un script de défi.

    • CAPTCHA – AWS WAF inclut les éléments suivants dans la réponse :

      • L'en-tête x-amzn-waf-action avec une valeur de captcha.

        Note

        Cet en-tête n'est pas disponible pour JavaScript les applications qui s'exécutent dans le navigateur client. Pour plus de détails, consultez la section qui suit.

      • Le code HTTP de statut405 Method Not Allowed.

      • Si la demande contient un Accept en-tête dont la valeur est égale àtext/html, la réponse inclut une JavaScript page interstitielle contenant un CAPTCHA script.

Pour configurer le délai d'expiration des jetons au niveau du Web ACL ou des règles, consultezConfiguration de l'expiration de l'horodatage et de la durée d'immunité des jetons dans AWS WAF.

Les en-têtes ne sont pas disponibles pour JavaScript les applications qui s'exécutent dans le navigateur client

Lorsque AWS WAF répond à une demande client par une réponse CAPTCHA ou une réponse à un défi, il n'inclut pas les en-têtes cross-origin resource sharing (CORS). CORSles en-têtes sont un ensemble d'en-têtes de contrôle d'accès qui indiquent au navigateur Web client quels domaines, HTTP méthodes et HTTP en-têtes peuvent être utilisés par les applications. JavaScript Sans CORS en-têtes, les JavaScript applications exécutées dans un navigateur client n'ont pas accès aux HTTP en-têtes et ne peuvent donc pas lire l'x-amzn-waf-actionen-tête fourni dans le CAPTCHA and Challenge réponses.

À quoi servent le défi et les CAPTCHA interstitiels

Lorsqu'un défi interstitiel s'exécute, une fois que le client a répondu avec succès, s'il n'a pas encore de jeton, l'interstitiel en initialise un pour celui-ci. Ensuite, il met à jour le jeton avec l'horodatage de résolution du défi.

Lorsqu'un CAPTCHA interstitiel s'exécute, si le client n'a pas encore de jeton, il invoque d'abord le CAPTCHA script de défi pour lancer un défi au navigateur et initialiser le jeton. Ensuite, l'interstitiel résout son CAPTCHA casse-tête. Lorsque l'utilisateur final termine le puzzle avec succès, l'interstitiel met à jour le jeton avec l'horodatage de CAPTCHA résolution.

Dans les deux cas, une fois que le client a répondu avec succès et que le script a mis à jour le jeton, le script soumet à nouveau la demande Web d'origine à l'aide du jeton mis à jour.

Vous pouvez configurer comment AWS WAF gère les jetons. Pour plus d’informations, veuillez consulter Utilisation de jetons sur des requêtes Web dans AWS WAF.