Certo, quando si usa MySQL si usa mysqli_real_escape_string()
e si controlla che il tipo di input ricevuto sia del tipo che si aspetta (stringa, numero, ecc.) E si può essere certi di poterlo usare come input per mysqli_query()
abbastanza sicuro ... giusto?Stringa di escape da usare in mail()
Ebbene, le domande sono:
- Qual è il modo migliore per sfuggire a una stringa che sta per essere utilizzati in
mail()
? - Se il destinatario dell'email sarà l'indirizzo e-mail inserito in un campo di testo, quali sono le cose che dovrei fare attenzione per evitare iniezioni o exploit?
Ho una buona idea di come farlo, ma sto scavando nelle migliori pratiche su questo argomento per sapere se mi manca qualcosa, o se c'è un modo migliore.
EDIT: L'idea di questa domanda è non avere LA risposta, ma per fare un elenco completo di collaborazione di tutte le cose per prendersi cura di quando si fa e-mail con PHP.
Mi vengono in mente gli attacchi XSS e iniezioni di intestazione può essere; quindi sanityze il tuo html (se stai usando quel tipo MIME), e assicurati che nessuno inserisca il codice personalizzato nelle intestazioni della tua posta –
Elimina qualsiasi carattere non stampabile, usa la codifica US-ASCII. Rimuovi anche i caratteri \ r \ n. Converti tabulazioni in spazi. – hakre
Ottima domanda. Vorrei solo non aver esaurito il mio patetico limite di voto per quel giorno. –