convalida del modulo [chiuso]

1

Quale grado di preoccupazione dovrei prendere quando convalido un modulo? Quale dovrebbe essere la linea generale per dire abbastanza?

Attualmente sto controllando

  • modulo token
  • submit value = corrisponde al codice interno interno
  • nome inserimento = corrisponde al codice interno interno
  • input vale = htmlspecialchar
  • il tempo di ritardo sarà (in qualche modo) implementato in futuro

Sono un principiante in materia di sicurezza, quindi per favore portami con me:)

    
posta Andrew 13.09.2015 - 18:32
fonte

2 risposte

1

Come @Alex menzionato nel commento, se attraversa un limite di sicurezza, è necessario essere ponderati e deliberati sulla gestione dei dati e capire come un utente malintenzionato potrebbe manipolarlo prima di inviarlo a te.

Questo processo è più generalmente noto come modellazione di minacce applicative. Inizia con la definizione dei componenti dell'applicazione, i flussi di dati tra i componenti, in cui i flussi di dati attraversano i limiti di sicurezza e ciò che questi dati potrebbero contenere. Una volta che lo sai, puoi pensare a come un utente malintenzionato potrebbe abusare dei dati prima di inviarli oltre quei limiti, così puoi identificare meglio come mitigare quelle potenziali vulnerabilità.

    
risposta data 13.09.2015 - 20:08
fonte
1

Pensa a dove potrebbero essere utilizzati i dati, poiché ciò dovrebbe aiutare a definire la convalida.

Puoi andar via senza convalida al momento dell'iscrizione, tuttavia qualsiasi cosa con un significato speciale quando si utilizza una funzione sink dovrebbe essere scartata o codificata prima dell'uso. La convalida al momento dell'iscrizione è utile se si desidera consentire all'utente di correggere errori.

L'igienizzazione deve essere eseguita il più tardi possibile. Ad esempio, la conversione in caratteri HTML dovrebbe essere eseguita sull'output piuttosto che sull'input. Il motivo è che se decidi di utilizzare i dati in un contesto diverso, puoi convertirli a questo punto direttamente dal valore dell'utente (ad esempio testo normale, JSON, ecc.).

Non fidarti mai dell'input dell'utente. Convalidare tutto prima dell'uso e cercare di riflettere sui pericoli derivanti dall'invio di valori imprevisti dal proprio modulo, ad esempio se un determinato valore è stato forgiato o se il valore non viene codificato quando viene utilizzato in un contesto con un significato speciale (ad esempio SQL economico).

    
risposta data 13.09.2015 - 22:02
fonte

Leggi altre domande sui tag