Detecções de JavaScript
IBM Cloud® Internet Services (CIS) recursos de robô incluem detecções JavaScript. Uma pequena quantia de JavaScript é injetado nos dispositivos do cliente usando Técnica de impressão digital Picasso Google.. Os resultados do Picasso são fatorados nas pontuações do robô e ajudam o CIS a classificar o tráfego como automatizado ou humano.. BotScoreSrc: Not Computed e uma pontuação de 0 são relevantes para solicitações de impressão digital JavaScript Picasso. Essas solicitações estão isentas do bloqueio por quaisquer regras de firewall.
Esta técnica de detecção reúne dados gerais sobre as máquinas que atingem CIS. Por exemplo, se um determinado usuário estiver acessando CIS via Google Chrome em um MacBook Pro, como há milhões de pessoas usando Google Chrome em um MacBook Pro, CIS não poderá identificar indivíduos específicos. CIS também toma medidas para tornar os dados anônimos e eliminá-los gradualmente para aumentar a privacidade.
JavaScript é injetado apenas em resposta a solicitações para páginas HTML ou visualizações de página, excluindo chamadas AJAX. O tráfego da API e do aplicativo móvel não é afetado Além disso, o código não é injetado novamente até que sua vida útil de 30 minutos expire. O script Picasso tem aproximadamente 70 KB e o tempo de execução varia de acordo com o dispositivo, de 90 ms a cerca de 500 ms.
Os fragmentos de JavaScript conterão uma origem apontando para a plataforma de desafio com caminhos que iniciam com /cdn-cgi/challenge-platform/...
Ativar detecções de JavaScript
Nos planos de avaliação sem custo (Bot Fight Mode), as detecções do JavaScript são ativadas automaticamente e não podem ser desativadas.
Para todos os outros planos (Super Bot Fight Mode e Bot Management for Enterprise), as detecções JavaScript são opcionais. Para ajustar suas configurações, acesse Segurança> Bots..
Aplicando a execução de detecções de JavaScript
Para assegurar que os visitantes tenham executado anteriormente e passado detecções de JavaScript, é possível criar uma regra de firewall com o campo cf.bot_management.js_detection.passed que executa uma ação de Desafio Gerenciado.
Insira (cf.bot_management.js_detection.passed) na seção Visualização de expressão como uma regra singular.
Considerações
- Se você tiver uma Política de Segurança de Conteúdo (CSP):
-
Assegure-se de que qualquer coisa sob
/cdn-cgi/challenge-platform/seja permitida. Seu CSP deve permitir scripts que são entregues de seu domínio de origem (script-src self). -
Se o CSP usar um
noncepara tags de script, o CIS incluirá esses nonces nos scripts que ele injeta analisando o cabeçalho de resposta do CSP. -
Se o seu CSP não usar
noncepara tags de script e JavaScript Detecção estiver ativado, você poderá ver um erro do console comoRefused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-b123b8a70+4jEj+d6gWI9U6IilUJIrlnRJbRR/uQl2Jc='), or a nonce ('nonce-...') is required to enable inline execution. -
Não é recomendável usar o site
unsafe-inline. Em vez disso, é recomendável usar CSPnoncesem tags de script que são analisadas e suportadas no CDN.
-