Abbiamo un'API apertamente accessibile attraverso una visualizzazione dei dati su un sito Web e un'app. Vorremmo rendere la vita dei potenziali data scrapers un po 'più difficile.
La prima cosa che abbiamo fatto è stato aggiungere un po 'di throttling, ma nel nostro caso la linea tra il tasso di richiesta legittimo e quello malevolo può essere sfocata. Inoltre, non impedisce agli scraper di prendersi il loro tempo.
Al momento è facile vedere come sono costruite le nostre richieste e crearne di nuove, quindi abbiamo pensato di renderle più difficili generando un qualche tipo di hash usando i valori scelti (parametri della richiesta, ora corrente, valore nel cookie, ecc.) il lato client e controllarlo lato server. Il codice che genera il token dovrebbe naturalmente essere offuscato dal lato client.
Quindi la domanda è: quanto può essere utile una tale protezione? Sembra scendere a quanto possiamo offuscare la generazione di token. Quanto è efficiente questo, in particolare in javascript?