Mysql
 sql >> Database >  >> RDS >> Mysql

Domanda di sicurezza PHP?

Ci sono due aspetti da considerare quando si accetta il testo generato dall'utente che verrà visualizzato in seguito.

Prima di tutto, devi proteggere il tuo database dagli attacchi di injection. C'è una semplice funzione PHP per questo:mysql_real_escape_string() di solito è sufficiente per proteggere il database dall'iniezione quando si passa questa stringa per archiviarla come valore di campo.

Da lì, devi stare attento al tuo display, poiché un utente a cui è consentito caricare codice HTML può fare cose cattive a altri utenti quando quel codice viene visualizzato. Se stai scrivendo articoli in chiaro, puoi semplicemente htmlspecialchars() il testo risultante. (probabilmente vorrai anche convertire le nuove righe in tag
.) Se stai utilizzando una soluzione di formattazione, come il motore Markdown utilizzato su questo sito, tali soluzioni di solito forniscono la sanificazione HTML in funzione del motore , ma assicurati di leggere la documentazione e assicurati.

Oh, assicurati di verificare anche le variabili GET/POST utilizzate per inviare gli articoli. Questo è ovvio e la verifica eseguita dovrà essere adattata a ciò che il tuo sito sta facendo con la sua logica.