Mathias Brodala: bitte um "Formular Code Überprüfung"

Beitrag lesen

Hallo Tanja.

<?php

$server = $_REQUEST['server'];
$ip = $_REQUEST['ip'];
$name = $_REQUEST['name'];
$mail = $_REQUEST['mail'];
$betreff = $_REQUEST['beitrag'];

  
Alle diese Schlüssel existieren beim erstmaligen Aufruf noch garnicht, weshalb du sie nur übernehmen solltest, wenn sie [gesetzt](http://de2.php.net/manual/en/ref.exec.php) wurden.  
  

> ~~~php

$name=trim($name);  

> $mail=trim($mail);  
> $betreff=trim($beitrag);  
> $name=strip_tags($name);  
> $mail=strip_tags($mail);

Warum überhaupt dieser Umweg? Du kannst direkt mit den Schlüsseln in $_REQUEST agieren. Es ist ein Array wie jeder andere auch, mit dem Unterschied dass er stets zur Verfügung steht.

$header="Content-Type: text/plain\r\n";

mail("info@topfblume.net", "Nachricht vom Formular - topfblume.net", $message, $header);

  
Das sind die relevanten Zeilen. Die E–Mail–Adresse, der Betreff als auch die zusätzlichen Header sind fest vorgegeben, man kann hier also nirgends zusätzliche Mailheader einschmuggeln.  
  

> `<form action="[code lang=php]<?php $PHP_SELF; ?>`{:.language-html}" method="post">[/code]  
  
Brauchst du wirklich noch [register_globals](http://de2.php.net/manual/de/security.globals.php)?  
  
Ansonsten dürfte das Script sicher sein.  
  
  
Einen schönen Montag noch.  
  
Gruß, Mathias  

-- 
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|  
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“  
[[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)]