Best practice per proteggere un'API di struttura sconosciuta che può provenire dal dispositivo o dal server dell'utente finale [chiusa]

2

Sto provando a creare un'API con una struttura forzata minima. I messaggi possono provenire dal dispositivo dell'utente finale o da un server di back-end. Sto bene con l'apertura dell'API separata per il traffico dell'utente finale e dai server. Il cliente sono aziende web e mobili che possono inviare i loro dati all'API. (Pensa a google analytics per siti Web, applicazioni mobili ed eventi da server web) Quale sarà la migliore pratica per sapere che una richiesta HTTP all'API è stata acquisita da un client fidato? Se c'è qualche buon articolo in quel modo, quello che è anche bello.

- MODIFICA - Quale sarà la migliore pratica per autenticare il client (non l'utente finale)

    
posta Gluz 22.10.2014 - 21:13
fonte

2 risposte

5

non puoi fidarti del client , mai.

  • Un utente malintenzionato potrebbe abusare del software client legittimo (suo o di qualcun altro)
  • Un utente malintenzionato può eseguire il reverse engineering di un numero sufficiente di API per fingere di essere un client legittimo

Invece di fidarti del client, assicurati che l'input del cliente sia affidabile.

  • convalida dell'input
  • input sanitization
  • conformità dello schema
  • controllo della velocità

Fai queste cose alla tua estremità, che controlli, per garantire la sicurezza del tuo sistema. Non perdere tempo immaginando di poter controllare gli endpoint remoti.

    
risposta data 22.10.2014 - 21:26
fonte
2

Rispondo alle mie domande ma per i futuri cercatori, ho trovato questo fantastico articolo: link . Forse non ho spiegato bene la mia domanda, ma questa era la risposta che stavo cercando.

- UPDATE -

Rory Alsop, ha chiesto di pubblicare un riassunto. Dovresti assolutamente leggere la fonte. Ma nel caso non sia possibile, ho allegato una parte dello screenshot della soluzione dalla fonte.

    
risposta data 23.10.2014 - 06:35
fonte

Leggi altre domande sui tag