Ho un modulo in cui accetto il nome, l'e-mail e il messaggio di un utente. Faccio la convalida per nome, e-mail e messaggio e lo mando semplicemente usando la funzione mail()
.Devo disinfettare i dati immessi dall'utente prima di inviarli tramite e-mail
Se inserissi $name
, $email
e $message
in un database, vorrei evitare questi dati per l'iniezione SQL; o, se stavo echeggiando su una pagina web, vorrei usare htmlspecialchars()
.
Cosa devo fare quando invio questi dati tramite e-mail? So che non mi devo preoccupare dell'iniezione SQL, ma per quanto riguarda XSS? Dovrei usare htmlspecialchars()
anche su queste tre variabili?
mando la mail come questa:
mail('[email protected]', 'Contact From: '. $name, "$message", 'From: '. $email);
Ho letto di iniezione e-mail, ma non riesco a capirlo.
Per favore fatemi sapere.
Dipende da come lo si usa. Se stai impostando l'intestazione From in base all'uso, allora sì, sarà necessario disinfettare. – andrewsi
Anche questo è qualcosa che non capisco! Non vedo l'ora di vedere la risposta per questo. – pattyd
mail ('[email protected] ',' Contatta da: '. $ Name, "$ message",' From: '. $ Email); – user2471133