Per prima cosa, non hai modo di evitare che le persone usino il ricciolo per accedere all'API. Dal punto di vista del server, la tua applicazione e qualcuno che usa curl o telnetting in è esattamente la stessa.
Devi impiegare alcuni controlli e protezioni sull'API che renderanno più difficile alle persone accendere e rovinare il tuo database. Mentre stai imparando, non ti darò link, ma le cose che devi ricercare. Alcune opzioni vengono in mente:
-
Codifica sicura
Prima di tutto, scopri come proteggere il codice. PHP è molto facile da imparare e allo stesso tempo è molto facile commettere errori mortali. Scopri come proteggere il codice è la prima cosa che devi imparare prima di fare qualsiasi cosa. Scrivi il codice sicuro dall'inizio, non "falla funzionare" per prima cosa e prova a proteggerlo più tardi. Rendilo sicuro fin dall'inizio.
-
HTTPS
Devi utilizzare HTTPS. Fornisce l'autenticazione del server, la riservatezza e protegge da modifiche accidentali o intenzionali del traffico. Associalo con la chiave pubblica e imposti una barriera elevata.
-
Autenticazione utente
Se hai qualcosa di privato, devi autenticare gli utenti. Vengono in mente password salate, sessioni sicure e cookie sicuri. Anche un captcha. Impiega un limite di velocità anche per il login, quindi sarà più difficile per qualcuno fare il login.
-
Validazione e sanitizzazione dell'input
Questo è molto importante. Indipendentemente dal livello di sicurezza dei controlli attorno all'API, se qualcuno è in grado di eseguire un'iniezione SQL, sei morto. Tutti i tuoi utenti sono morti, tutti i tuoi dati sono morti. Se qualcuno può sfruttare un file remoto incluso, sei persino più morto di prima. Quindi non fidarti mai di nulla che ricevi dal client, anche se il client è autenticato.
Studia le guide e le esercitazioni OWASP , in particolare le 10 vulnerabilità principali. Cerca di non esporre la tua applicazione a quei rischi.