Steffen: (nochmal) Spamming über Kontaktformulare

Archivartikel

Hi,

da ich bei meiner Website gerade solche Angriffe habe,
möchte ich nochmal kurz o.g. Thema aufgreifen.

Meine Lösung dafür schaut so aus, daß ich alle Whitespaces durch ein einfaches Space ersetze.

  
preg_replace('/\s+/', ' ', $header_field);  

Somit werden alle Zeilenumbrüche entfernt.
Allerdings kann dadurch eine Zeile im Header recht lang werden.
Meine Frage gilt nun den überlangen Zeilen im Header.
Reisse ich dadurch eventuell neue Sicherheitsprobleme auf?

z.B. (Einzeiler)
From: tto Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: and the bcc: onemoreaddress@hotpop.com 7f42d86978b6ea2b2711f15b173022c4 .

Grüße,
Steffen.

  1. Hallo,

    Meine Lösung dafür schaut so aus, daß ich alle Whitespaces durch ein einfaches Space ersetze.

    preg_replace('/\s+/', ' ', $header_field);

    
    >   
    > Somit werden alle Zeilenumbrüche entfernt.  
    > Allerdings kann dadurch eine Zeile im Header recht lang werden.  
      
    wenn ich das Problem richtig überblicke, ist der einzige Ort, an dem sowas auftreten kann, die Mail-Adresse des Absenders, die mittels des Formulars in die Nachricht eingefügt wird. In Mail-Adressen treten aber grundsätzlich keine Zeilenumbrüche auf, also warum akzeptierst Du überhaupt solche "Adressen", warum verweigerst Du nicht einfach die Annahme mittels des Musters /[\n\r]/?  
      
    Grüße, Lukas.  
    
    
    1. Hallo,

      Meine Lösung dafür schaut so aus, daß ich alle Whitespaces durch ein einfaches Space ersetze.

      preg_replace('/\s+/', ' ', $header_field);

      
      > >   
      > > Somit werden alle Zeilenumbrüche entfernt.  
      > > Allerdings kann dadurch eine Zeile im Header recht lang werden.  
      >   
      > wenn ich das Problem richtig überblicke, ist der einzige Ort, an dem sowas auftreten kann, die Mail-Adresse des Absenders, die mittels des Formulars in die Nachricht eingefügt wird. In Mail-Adressen treten aber grundsätzlich keine Zeilenumbrüche auf, also warum akzeptierst Du überhaupt solche "Adressen", warum verweigerst Du nicht einfach die Annahme mittels des Musters /[\n\r]/?  
        
      Danke für den Hinweis.  
      Ich habe das Problem warscheinlich zu einseitig betrachtet. \*g\*  
      Du hast natürlich Recht; so ein Angriff kann ich natürlich mit einem Fehler beantworten. Gerade auch deshalb, weil es recht einfach ist so einen Angriff zu erkennen.  
        
      Grüße.