Usando uno script index.php nella mia app iOS, cosa devo fare per proteggerlo?

-2

Sono davvero nuovo usando i server Web e la sicurezza. Ho appena scritto un back-end per la mia app iOS in PHP. È ospitato su un server Apache Linode. L'index.php si trova all'indirizzo link . Mi sto solo chiedendo cosa dovrei fare per assicurarlo. Lo accedo tramite la mia app per iOS ma per quanto riguarda la possibilità che qualcuno inserisca quell'URL e acceda ad essa o esegua comandi in arricciatura? Devo implementare la sicurezza nello script PHP o sul server?

Qualsiasi suggerimento su questo sarebbe molto apprezzato.

EDIT, la mia API esegue semplici operazioni MySQL come INSERT e SELECT, vengono eseguite tramite POST e GET utilizzando i parametri. Al momento non sto implementando alcuna autorizzazione dell'utente. Voglio proteggerlo dall'accesso non autorizzato al database.

    
posta Bob 31.07.2015 - 15:03
fonte

1 risposta

4

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.

    
risposta data 31.07.2015 - 16:26
fonte

Leggi altre domande sui tag