Portal > Foren > PHP > PHP-Programmierung > Problem mit Mail-Injektion
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 17.08.2007, 11:05 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 19
Standard Problem mit Mail-Injektion

Hallo zusammen
langsam verzweifel ich wirklich.
Mittlerweile prüfe ich wirklich jeden müll ab. Trotzdem bekomm ich noch massig Spam.

Könnte mir jemand von euch noch nen Rat geben. (Denkantoß reicht auch - im Moment gehen mir echt die Ideen aus)

Datei ist im Anhang.

Danke schon mal.

PHP-Code:
<html>
<head>
<title>Kontaktformular</title>
<link rel="STYLESHEET" type="text/css" href="http://www.victor-bisquolm.de/site/css/style2.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
$Error
="";
 if(empty(
$_POST['header']))
     {
        
$header='keine@angabe.de';
    }
    else
    {
        
$header=$_POST['header'];
    }

 if(empty(
$_POST['empfänger']))
     {
        
$to='webmaster@victor-bisquolm.de'//(angepasst)
    
}
    else
    {
        
$to=$_POST['empfänger'];
    }
      
$header preg_replace"/(bcc:|cc:|to:|from:-)/im"""$header );    
    
 if(empty(
$_POST['subject']))
     {
        
$subject='';
        
$Error="Betreff fehlt<br>";
    }
    else
    {
        
$subject=$_POST['subject'];
    }
 if(empty(
$_POST['message']))
     {
        
$message='';
        
$Error=$Error." Nachrichten Text fehlt";
    }
    else
    {
        
$message=$_POST['message'];
    }
    
    if (
$Error=='')
        {
            echo(
'<table width="400">
                    <tr><td><b>Von:</b></td><td>'
.$header.'<br></td></tr>
                    <tr><td><b>An:</b></td><td>'
.$to.'<br></td></tr>
                    <tr><td><b>Betreff:</b></td><td>'
.$subject.'<br></td></tr>
                    <tr><td><b>Email Text:</b></td><td>
                                        <textarea name="message" cols="50" rows="10" readonly>'
.$message.'</textarea></td></tr>
                  </table>'
);

        
$message=nl2br($message);

          
$message preg_replace"/(bcc:|cc:|to:|from:-)/im"""$message);
            
$subject preg_replace"/(bcc:|cc:|to:|from:-)/im"""$subject);
          
$to preg_replace"/(bcc:|cc:|to:|from:-)/im"""$to );    

 
                     
$header="From: ".$header;
                if(        (
substr_count($header,'@')<=1)&&
                        (
substr_count($subject,'@')==0)&&
                        (
substr_count($message,'@')<1)&&
                        (
substr_count($to,'@')<=1)
                    )
                    {
                     
mail($to$subject$message$header);
                         echo
'<table>
                                <tr><td><b>Ihre Nachricht wurde gesendet!<br></b></td>
                                </tr>
                            </table>'
;
                     }
                    else
                    {
                        echo(
'<p><font color="red">Spam-Fehler<br> Ihre Nachricht enthält zu viele Mailadressen!</font>');
                    
#    echo('<p><font color="red">'.substr_count($header,'@').'</font></p>');
                    
}
         }
        else
        {
            echo
'<h2>Der Folgende Fehler trat auf <br>
                  '
.$Error.'</h2>';
        }
?>
</body>
</html>
Angehängte Dateien
Dateityp: txt mail.txt (2,2 KB, 4x aufgerufen)

Geändert von denis_hanke (19.08.2007 um 15:22 Uhr) Grund: Warum nicht einfach den Code in den Beitrag? // edit Jann H.: php-highlight aktiviert
denis_hanke ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 11:14 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Nutze doch einfach eine fertige Lösung, via PHPMailer oder so. Dann wirst du damit eher weniger Probleme haben ..
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 11:16 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Vielleicht hilft dir auch das:
Antispam Maßnahmen - Diskussionen
Bitte auch die dort verlinkten Seiten beachten
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 19:31 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard

und noch ein link:
http://www.drweb.de/webmaster/kontakt-formulare.shtml

du hast einen (Tipp-)Fehler drin.
$tor hast du oben einmal im if-else-Konstrukt geschrieben; ein r zu viel.
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mail() logging Patch für PHP verfügbar Ben Nachrichten 0 14.12.2006 08:53
Logisches Problem beim einsatz von Ereignissen Prophet Allgemeine Java-Programmierung 19 05.06.2006 22:08
Problem mit Cookie und Reloads... Bookworm PHP-Programmierung 10 13.04.2006 12:09
Ein mail Problem bob PHP-Programmierung 18 12.03.2006 15:07
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45