Das hier gezeigte FORMULAR-Script funktionierte bis PHP Version 4 aber bei Version 4.3.4 funktioniert es nicht mehr.
Irgendetwas mit den Variablen, oder so ????
Wer kann helfen ?
Gruß
tschio
-------------------------------------------------------------------------------------------
<?
/******************************/
/* FormMail.pl-Ersatz mit PHP */
/******************************/
/* Dieses Skript ersetzt das unsichere Formmail.pl */
/* Wenn Sie nicht wissen, wie dieses Skript in */
/* Ihr Kundenverzeichnis gelangt, bitten wir Sie, */
/* sich mit Ihrem Provider in Verbindung zu setzen.*/
/* Er wird Sie über die Missbräuche von zuvor ein- */
/* gesetzten Skript (formmail.pl) informieren. */
/* SPAM-Check */
$spam = false;
$host = strtolower($HTTP_HOST);
$referer = strtolower($HTTP_REFERER);
if (substr($host,0,4) == "www.") $host = substr($host,-(strlen($host)-4));
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "GET") $vars = $HTTP_GET_VARS;
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "POST") $vars = $HTTP_POST_VARS;
reset($vars);
while(list($id,$value) = each($vars))
{
if ($id != "redirect" and $id !="recipient" and $id != "missing_fields_redirect" and $id !="subject" and $id != "required")
{
$varlist .= "$id = $value\n";
}
if ($id == "HTTP_REFERER") $spam = true;
}
if ($referer == "" or !strstr($referer,$host) or $spam)
{
echo "No abuse for spamming allowed!";
exit;
}
if (isset($required))
{
$must = explode(",",$required);
reset($must);
$notfilled = false;
while(list($id,$value)=each($must))
{
if (${$value}=="") $notfilled = true;
}
if ($notfilled)
{
if (isset($missing_fields_redirect))
{
header("Location: $missing_fields_redirect");
exit;
}
else
{
echo "Some of the required fields are not filled. Please go back and insert appropriate data";
exit;
}
}
}
if (!isset($recipient)) $recipient = "info@$host";
if (!strstr($email,"@") or !strstr($email,".")) $email = "formular@$host";
if (!isset($subject)) $subject = "Kontaktformular $host";
mail($recipient,$subject,$varlist,"From: $email");
if (isset($redirect))
{
header("Location: $redirect");
exit;
}
echo "Thank you for your submission. We will contact you as soon as possible";
?>
--------------------------------------------------------------------------------------------
Irgendetwas mit den Variablen, oder so ????
Wer kann helfen ?
Gruß
tschio
-------------------------------------------------------------------------------------------
<?
/******************************/
/* FormMail.pl-Ersatz mit PHP */
/******************************/
/* Dieses Skript ersetzt das unsichere Formmail.pl */
/* Wenn Sie nicht wissen, wie dieses Skript in */
/* Ihr Kundenverzeichnis gelangt, bitten wir Sie, */
/* sich mit Ihrem Provider in Verbindung zu setzen.*/
/* Er wird Sie über die Missbräuche von zuvor ein- */
/* gesetzten Skript (formmail.pl) informieren. */
/* SPAM-Check */
$spam = false;
$host = strtolower($HTTP_HOST);
$referer = strtolower($HTTP_REFERER);
if (substr($host,0,4) == "www.") $host = substr($host,-(strlen($host)-4));
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "GET") $vars = $HTTP_GET_VARS;
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "POST") $vars = $HTTP_POST_VARS;
reset($vars);
while(list($id,$value) = each($vars))
{
if ($id != "redirect" and $id !="recipient" and $id != "missing_fields_redirect" and $id !="subject" and $id != "required")
{
$varlist .= "$id = $value\n";
}
if ($id == "HTTP_REFERER") $spam = true;
}
if ($referer == "" or !strstr($referer,$host) or $spam)
{
echo "No abuse for spamming allowed!";
exit;
}
if (isset($required))
{
$must = explode(",",$required);
reset($must);
$notfilled = false;
while(list($id,$value)=each($must))
{
if (${$value}=="") $notfilled = true;
}
if ($notfilled)
{
if (isset($missing_fields_redirect))
{
header("Location: $missing_fields_redirect");
exit;
}
else
{
echo "Some of the required fields are not filled. Please go back and insert appropriate data";
exit;
}
}
}
if (!isset($recipient)) $recipient = "info@$host";
if (!strstr($email,"@") or !strstr($email,".")) $email = "formular@$host";
if (!isset($subject)) $subject = "Kontaktformular $host";
mail($recipient,$subject,$varlist,"From: $email");
if (isset($redirect))
{
header("Location: $redirect");
exit;
}
echo "Thank you for your submission. We will contact you as soon as possible";
?>
--------------------------------------------------------------------------------------------
Kommentar