Ho creato una riposante API json per un negozio online utilizzando Laravel.
Ora desidero creare un'app AngularJS per eseguire l'applicazione Web front-end. I prezzi dei prodotti per il mio negozio devono essere aggiornati ogni secondo, quindi Angular ha bisogno di scaricare il prodotto dal server una volta al secondo per aggiornare l'html.
Desidero in qualche modo fare qualcosa per proteggere questi dati json accessibili pubblicamente dal furto di scraper / bot che colpiscono ripetutamente la mia API per rubare i miei dati sui prodotti e sui prezzi.
I miei pensieri:
Ogni risposta di json api contiene un token di uso casuale una volta (sono consapevole di fare cose per fermare le collisioni).
Questo token casuale viene iniettato tramite AngularJS in un campo nascosto all'interno della pagina html. Angularjs legge il token nascosto prima di richiedere nuovamente l'API e lo utilizza nell'intestazione della richiesta successiva.
Una risposta JSON viene fornita solo con il token corretto nell'intestazione. Una volta che il token è stato utilizzato, scade e qualsiasi tentativo di riutilizzare il token scaduto, determina che l'indirizzo IP viene bloccato per un periodo di tempo o segnalato all'amministratore per indagare.
C'è un modo migliore di fare quanto sopra? C'è qualche tipo di reale soluzione disponibile al mio problema? Considerando che sto pagando il feed dei prezzi dei prodotti in primo luogo, non voglio davvero che qualcuno mi prenda da me gratuitamente solo perché ho esposto un api!
Anche se capisco che probabilmente non c'è modo di essere sicuro al 99% che qualcuno possa trovare un modo per raschiare il mio json, ci deve essere qualcosa di relativamente semplice che posso fare per proteggere il mio feed JSON da stupidi robot / scrapers usando semplicemente arricciatura rubare dati.