Rilevamenti JavaScript
Le funzioni del bot IBM Cloud® Internet Services (CIS) includono i rilevamenti JavaScript. Una piccola quantità di JavaScript viene inserita nei dispositivi client utilizzando la tecnica di rilevamento delle impronte digitali Picasso di Google. I risultati Picasso vengono fattorizzati in punteggi bot e aiutano CIS a classificare il traffico come automatizzato o umano. BotScoreSrc: Not Computed e un punteggio di 0 sono rilevanti per le richieste Picasso JavaScript Fingerprinting. Queste richieste sono esenti dall'essere bloccate da qualsiasi regola del firewall.
Questa tecnica di rilevamento raccoglie i dati generali sulle macchine che raggiungono CIS. Ad esempio, se un determinato utente accede a CIS tramite Google Chrome su un MacBook Pro, poiché ci sono milioni di persone che utilizzano Google Chrome su un MacBook Pro, CIS non può identificare individui specifici. CIS adotta inoltre misure per rendere anonimi e eliminare gradualmente i dati per una maggiore privacy.
JavaScript viene inserito solo in risposta alle richieste per le pagine HTML o le viste pagina, escluse le chiamate AJAX. Il traffico dell'API e dell'app mobile non viene influenzato. Inoltre, il codice non viene inserito nuovamente fino a quando non scade la durata della sessione di 30 minuti. Lo script Picasso è di circa 70 KB e il tempo di esecuzione varia a seconda del dispositivo, da 90 ms a circa 500 ms.
I frammenti di JavaScript conterranno un'origine che punta alla piattaforma di verifica con percorsi che iniziano con /cdn-cgi/challenge-platform/....
Abilita rilevamenti di JavaScript
Per i piani di prova gratuiti (modalità lotta contro i bot), i rilevamenti di JavaScript sono abilitati automaticamente e non possono essere disabilitati.
Per tutti gli altri piani (Super Bot Fight Mode e Bot Management per Enterprise), i rilevamenti di JavaScript sono facoltativi. Per regolare le impostazioni, andare a Sicurezza> Bots.
Applicazione dell'esecuzione dei rilevamenti di JavaScript
Per garantire che i visitatori abbiano precedentemente eseguito e superato i rilevamenti JavaScript, è possibile creare una regola firewall con il campo cf.bot_management.js_detection.passed che esegue un'azione Managed Challenge.
Immettere (cf.bot_management.js_detection.passed) nella sezione Anteprima espressione come regola singolare.
Considerazioni
- Se si dispone di una CSP (Content Security Policy):
-
Verificare che sia consentito qualsiasi elemento in
/cdn-cgi/challenge-platform/. Il tuo CSP dovrebbe consentire gli script forniti dal tuo dominio di origine (script-src self). -
Se il tuo CSP utilizza un
nonceper le tag di script, CIS aggiunge questi nonces agli script che inserisce analizzando la tua intestazione di risposta CSP. -
Se il tuo CSP non utilizza
nonceper le tag di script e il rilevamento JavaScript è abilitato, potresti visualizzare un errore della console comeRefused 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. -
Si sconsiglia l'uso di
unsafe-inline. Invece, si consiglia di utilizzare CSPnoncesnelle tag di script analizzate e supportate nella CDN.
-