- Home
- Categorie
- Coding e Sistemistica
- PHP
- Modulo email
-
Ciao Claudioweb,
facendo un' approfondita analisi sull' Email Injection emerge che il tutto si fonda sulla possibilità di inserire un ritorno a capo negli header, aggiungendo altri header a piacere.
Pensare di filtrare \r e \n risolve il problema alla radice... non mi pare il tuo script abbia questi filtri, come nessuno degli altri presenti in questo thread, da qui il mio intervento.
Purtroppo molti form con invio di email sono utilizzati come "testa di ponte" da malintenzionati per fare spam senza poter esser rintracciati.
La questione è che il più delle volte il Webmaster vittima dell' Injection, riesce ad accorgersi del problema solo dopo una denuncia o segnalazione da parte di terzi, e dopo che il suo server ha mandato chissà quante migliaia di email a chissà chi
In linea di massima tali sistemi vengono usati per mandare vagonate di email a vagonate di indirizzi diversi; è altamente probabile o quantomeno potrebbe succedere che uno di questi sia errato o inesistente quindi fate attenzione se vi tornavano degli undelivered di email con un mittente diverso dal vostro: è uno dei classici campanelli di allarme.
Cordialmente
AlessioEdito per aggiungere, rileggendo meglio le tue righe, che una buona conoscenza del protocollo usato per le email, qualche /n e qualche /r il destinatario lo ridefinisci nel corpo della mail ignorando quello da te indicato.
Spero di esser stato chiaro e aver colmato ulteriori dubbi e perplessità in merito.
-
claudio prova adesso... grazie ^^'
-
Diliberto ti ringrazio per avermi fatto scoprire questo problema, che ammetto ingnoravo.
Di solito evitavo e sconsigliavo script che si basavano su un indirizzo email del destinatario inserito nell'html, e facilmente falsificabile.
Ma non avevo mai pensato che qualcuno potesse operare come da te indicato.
Penso mi leggerò un po' di articoli sull'argomento.hilary duff che devo provare, sembrerebbe funzionare o sbaglio?
-
funziona ma non mi arrivano 'email....
-
@hilary duff said:
funziona ma non mi arrivano 'email....
Capisco... ma io he posso fare? Dimmelo tu...
Come detto già altre volte, per la veggenza mi sto attrezzando... ma ancora non sono pronto Che ne so che hai combinato...
Il codice è quello, e con un copia-incolla dovrebbe funzionare...
Anzi come detto da Diliberto, funziona fin troppo... nel senso che anche altri potrebbero usarlo per inviare email.
Prova a verificare che hai personalizzato correttamente l'email. O magari cambia casella di posta. Più di questo non saprei davvero che dirti :bho:
-
ok... cmq grazie.. ti farà sapere... ^^' ciao ps ma dopo quando dovrebbe arrivare l'email? ^^'
-
ci sono riuscito alleluja... cmq grazie merito tuo... ^^'
-
ciao claudio
pure io utilizzo il semplicissimo form che hai indicato.
fino a qualche tempo fà tutto a posto.
adesso mi arriva l'email di avviso dove prima leggevo appunto la comunicazione, ma adesso non trovo scritto piu niente. praticamente mi arriva un email vuota. mettendo in conto che non ho modificato nulla dall'ultima volta. che puo essere?
grazie
ciao
-
Ma non trovi mai niente neppure se il messaggio lo scrivi tu, oppure ti arrivano email vuote?
Se così fosse, potrebbe trattarsi di qualche tentativo di spam.Se invece non funziona neppure quando scrivi tu, ti consiglio di ricontrollare il codice html e php.
Ciao
-
purtroppo si claudio
quando scrivo io non spunta nulla lo steeso
vuoi vedere il codice che ho scritto?
lo controllato diverse volte ma niente
al massimo pensi possa essere un problema di server di posta?
ciao
-
Prova lo stesso script su un altro sito e vedi se va...
Se fosse un problema di server penso non arriverebbe nulla, non una mail vuota...
Però tutto può essere...
-
grazie claudio
il link è questo
[html]http://www.paleobusiness.com/segna url.html[/html]
e questo è il file mail.php che ho fatto
[html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>
<body>
<?php
// Inizio Configurazione***
//Indirizzo emai a cui inviare i msg
$mailto = "[email protected]";
//Oggetto della mail
$subject = "paleobusiness.com";
//Pagina da mostrare dopo l'invio
$redirect = "index.html";
// Fine Configurazione****
foreach($HTTP_POST_VARS as $key => $value) {
$message .= $key . ': ' . $value;
$message .= "\n";
}
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
} else {
// Messaggio in caso di errore
echo('
Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>');
}
?>
</body>
</html>
[/html]ciao
-
Hai provato su un altro sito?
Comunque il file mail.php deve contenere solo in codice che avevo indicato, tutto il resto che hai messo di tuo può solo creare problemi. Eliminalo.
Non ho tempo per correggerlo io.
Lo script è il più semplice possibile.
Se non va su quel sito, prova come detto su un altro.
Ciao
-
purtroppo niente claudio. non và, la mail in questione pesa 1k, cio mi fa presupporre che ci sia qualcosa, invece niente.
per quanto vaale il file php, non ho aggiunto nulla. praticamente funzionava tutto, ed un bel giorno piu niente, senza che andassi a modificare nulla. cmq ora provo a rifare ex novo il file mail.phpappena ho notizie ti faccio sapere.
grazie di tutto.
-
ci sono novità
ho caricato la stessa pagina su uno spazio che avevo su altervista, e come per magia funziona.
il bello è che ho caricato gli stessi identici file che avevo su paleobusiness.com.bho?
ma se volessi portarlo sul mio dominio che cosa dovrei fare secondo te?
-
@claudioweb said:
Ciao benvenuto
Ottima la soluzione di Ludus
comnque per fare una cosa proprio semplice:
salva questo codice in una pagina chiamata mail.php (o un altro nome da te scelto, l'importante poi è cambiare nell'altro codice il nome)
[code]<?php
// Inizio Configurazione***
//Indirizzo emai a cui inviare i msg
$mailto = "TUO_INDIRIZZO";
//Oggetto della mail
$subject = "OGGETTO DELLA MAIL";
//Pagina da mostrare dopo l'invio
$redirect = "URL_PAGINA";
// Fine Configurazione****Sposto la discussione in php, che è la sezione più adatta
Bè... non è servito solo a nameless, debbo ringraziare anch'io!!!
L'ho utilizzato unendo vari sistemi ottenendo un ottimo risultato!!!
Solo una cosa: come posso fare per far diventare dei campi obbligatori?
L'email prima di tutto!!;)
Grazie ancora dell'ottimo post!!!
Chevalierp.s. : Per chi volesse vedere il risultato può farlo qui: clikka qui
-
Ciao chevalier,prova modificando:
[php]
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
}[/php]
in
[php]<?
if (@mail($mailto, $subject, $message) AND !empty($_POST[email]) AND !empty($_POST[indirizzo]) AND !empty($_POST[telefono] AND !empty($_POST[localita]) AND !empty($_POST[prov])) {
header("Location: $redirect");
}else{
echo "Errore: non hai completato tutti i campi o non è stato possibile l invio del messaggio";
}?>
[/php]
-
Ciao chevalier,prova modificando:
[php]
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
}[/php]
in
[php]<?
if (@mail($mailto, $subject, $message) AND !empty($_POST[email]) AND !empty($_POST[indirizzo]) AND !empty($_POST[telefono] AND !empty($_POST[localita]) AND !empty($_POST[prov])) {
header("Location: $redirect");
}else{
echo "Errore: non hai completato tutti i campi o non è stato possibile l invio del messaggio";
}?>
[/php]
-
@probid said:
Ciao chevalier,prova modificando:
[php]
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
}[/php]
in
[php]<?[/php][php]
if (@mail($mailto, $subject, $message) AND !empty($_POST[email]) AND !empty($_POST[indirizzo]) AND !empty($_POST[telefono] AND !empty($_POST[localita]) AND !empty($_POST[prov])) {
header("Location: $redirect");
}else{
echo "Errore: non hai completato tutti i campi o non è stato possibile l invio del messaggio";
}?>
[/php]
Ciao probid e grazie...ho tentato..ma non funziona
posso approfittare di te???
allego il php (mail.txt rinominare in .php) ed il codice completo nell'altro file txt da rinominare in htm.
è inutile che allego il file della risposta, tanto trovi il redict nel codice .php
Non mi dare dello sfacciato, un aiuto sarebbe quanto mai gradito perchè non vorrei ricominciare tutto daccapo!:x
Grazie ancora
Guglielmo
-
Non funziona perchè stai usando il vecchio codice,non quello che ti ho dato io
In mail.txt infatti vedo:
[php]
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
} [/php]
Invece devi mettere:[php]
<?
if (@mail($mailto, $subject, $message) AND !empty($_POST[email]) AND !empty($_POST[indirizzo]) AND !empty($_POST[telefono] AND !empty($_POST[localita]) AND !empty($_POST[prov])) {
header("Location: $redirect");
}else{
echo "Errore: non hai completato tutti i campi o non è stato possibile l invio del messaggio";
exit;}?>[/php]