Siechfred: Prüfungen weiterer Teile auf Spamverdacht

Beitrag lesen

Hell-O!

Ist es eigentlich sinnvoll, im Formmailer nicht nur die Werte sondern auch deren Namen auf spam-/hackerverdächtige Elemente zu prüfen?

Grundsätzlich und theoretisch wäre ein Angriff genauso wie über den Wert auch über den Namen möglich, wobei die Gefahr bei der GET-Methode größer ist, da es hier einfacher geht (einfach nur das Name/Wert-Paar anhängen). Ein sicheres Script fragt m.E. nur die Name/Wert-Paare ab, die es erwartet und ignoriert ungefragte Pärchen.

Oder kommen diese gar nicht an, wenn sie nicht der Namenskonvention entsprechen?

Der Typ CDATA ist da ziemlich umfassend: Erlaubt ist alles, was die Zeichenreferenz des Dokumentes hergibt.

foreach(@names) {
  $name = $_;

mache doch gleich die Wertzuweisung im foreach:

foreach my $name (@names) { ... }

#          $name prüfen <=========================================

Wenn du dir die übermittelten Namen via CGI::param holst, würde ich diese mit einer Liste von möglichen Namen (die man bspw. in einem Hash ablegen könnte) abgleichen:

use CGI;  
  
my %formfields = ( foo => '',  
                   bar => '',  
                   baz => ''  
                 );  
  
foreach (CGI::param) {  
  if( exists $formfields{lc($_)} ) {  
    # Value prüfen  
    $formfields{$_} = CGI::param($_);  
    print $_, ' = ', $formfields{$_}, "\n";  
  }  
  else {  
    print 'Unbekannter Name: ', $_;  
  }  
}

Im Ergebnis hast du alle zulässigen Name/Wert-Paare geprüft in deinem Hash %formfields stehen, den du dann weiter verwenden kannst. Aber vielleicht bin ich ja Morgens vor dem 5. Kaffee etwas neurotisch :-)

Siechfred

--
Hier könnte Ihre Werbung stehen.
Viel Lärm um nichts || Steuerliche Einordnung des Rangrücktritts