Mailinglisten-Archive |
On Sun, Nov 04, 2001 at 11:50:22PM +0100, David Schubert wrote: > die folgende Zeile sollte eine Mail (die Datei $fmtSupportMail) an die > Adresse in der Variablen Mail schreiben. Tut sie aber nicht. Weiss > jemand, wo der Fehler liegt? > > mail($HTTP_GET_VARS["Mail"], $HTTP_POST_VARS["supportsubject"], > $fmtSupportMail); Dieser Code ist ein potenzieller Sicherheits-GAU, wenn ichs richtig erinnere. Es gibt einen Grund, warum Perl einen 'tainted mode' hat, in welchem verhindert wird, daß Variablen, die durch externe Vorgänge gefüllt werden, ohne vorherige Vorberarbeitung an andere externe Programme weitergegeben werden. Dies ist hier der Fall, du hast einen Wert ($Mail), der von einem externen Vorgang (einem Formular) kommt, dessen Eingaben du prinzipiell nicht trauen kannst. Und du willst diesen Wert direkt an ein externes Programm (Sendmail) weitergeben. Tu das nie. Niemals, niemals und nie und nimmer. Prüfe $Mail wenigstens auf rudimentäre Korrektheit, sonst hast du einn potenzielles Scheunentor in deinem System, vor allem dann, wenn Sendmail auch noch unter root-Rechten läuft. -- Jens Benecke ········ http://www.hitchhikers.de/ - Europas Mitfahrzentrale · . · · · . · . · <-------- verdächtiges weisses Puder · . · . . · ·
php::bar PHP Wiki - Listenarchive