Überzeugt euch selbst! (Ich habe zusätzlich einen Link zu einer phpinfo-Seite hinzugefügt, konnte dort aber keine unterschiedlichen Konfigurationen bezüglich der Sessions finden)
Hier läuft's:
http://www.werbung-die-ankommt.de/gb/gaestebuch-eintragen.php
PHP-Info:
http://www.werbung-die-ankommt.de/gb/phpinfo.php
Hier nicht:
http://www.sv-veldhausen.de/gb/gaestebuch-eintragen.php
PHP-Info:
http://www.sv-veldhausen.de/gb/phpinfo.php
captcha.php
- Code: Alles auswählen
<?php
session_start();
unset($_SESSION['captcha_spam']);
$text = rand(1000,10000); //Zufallszahl
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$_SESSION['captcha_spam'] = encrypt($text, "9c4o34ghn"); //Key
$_SESSION['captcha_spam'] = str_replace("=", "", $_SESSION['captcha_spam']);
header('Content-type: image/png');
$img = ImageCreateFromPNG('captcha.png'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = $_SERVER['Document_Root']."/arial.ttf"; //Schriftart
$ttfsize = 25; //Schriftgrösse
$angle = rand(0,5);
$t_x = rand(5,50);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
gaestebuch-eintragen.php
- Code: Alles auswählen
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
session_start();
?>
<html>
<head>
<title>Gästebuch-Eintrag</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../css-dateien/css-datei-1.css" rel="stylesheet" type="text/css">
</head>
<body leftmargin="5" topmargin="5" marginheight="5" marginwidth="5">
<!--Start Seitentabelle-->
<table width="100%">
<tr>
<td>
<!--Start Teilungstabelle-->
<table width="100%">
<tr>
<td width="170" height="100%" valign="top">
<!--Include Navigation-->
<?php
//include ("../navigationen/navi-veldhausen-gaestebuch.php")
?>
</td>
<td align="center" valign="top">
<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right" class="seitenueberschriften">Gästebuch / Eintrag</td>
</tr>
<tr>
<td><hr></td>
</tr>
<tr>
<td class="fliesstextseiten" align="center">
<br><b>Dies ist ein Gästebuch. Anonyme und beleidigende Beiträge werden unverzüglich gelöscht!</b><br><br>
<?php
if(empty($homepage))
{
$homepage = "http://";
}
if(isset($_POST['speichern']))
{
$datum = date("d.m.Y");
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$homepage = htmlspecialchars($_POST['homepage']);
$eintrag = htmlspecialchars($_POST['eintrag']);
$fehler = "";
$checkemail = eregi( "^" .
"[a-z0-9]+([_\\.-][a-z0-9]+)*".
"@".
"([a-z0-9]+([\.-][a-z0-9]+)*)+".
"\\.([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|nato|net|org|pro)".
"$", $email);
function encrypt($string, $key)
{
$result = '';
for($i=0; $i<strlen($string); $i++)
{
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "9c4o34ghn");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(!$checkemail)
{
$fehler .= "<br><font color=\"#FF0000\">Die eingegebene E-Mail-Adresse ist nicht gültig!</font>";
}
if(!isset($_SESSION['captcha_spam']))
{
die('Fehler: session nicht definiert (bitte mail an Admin)<br /><br /><a href="gbook.php">Zurück ins Gästebuch</a>');
}
if($sicherheits_eingabe == $_SESSION['captcha_spam'])
{
unset($_SESSION['captcha_spam']);
}
else
{
$fehler .= "<br><font color=\"#FF0000\">Der eingegebene Code ist falsch. Bitte versuchen Sie es erneut!</font>";
}
if(empty($fehler))
{
// Eintrag in die Datenbank
include("../zugriff/zugriff.inc.php");
$query = "INSERT INTO gaestebuch_test (datum, name, email, homepage, eintrag) VALUES ('$datum', '$name', '$email', '$homepage', '$eintrag')";
mysql_query($query) or die('Fehler bei der Uebertragung der Daten!');
$nachricht = "Der folgende Gaestebuch-Eintrag wurde soeben getaetigt:\n".
"Datum: ".$datum."\n".
"Name: ".$name."\n".
"E-Mail: ".$email."\n".
"Homepage: ".$homepage."\n".
"Eintrag: ".$eintrag."\n";
$empfaenger = "info@svveldhausen.de";
$thema = "Gaestebuch-Eintrag vom ".$datum;
$extra = "Content-Type: text/plain; charset=iso-8859-1\n";
mail($empfaenger, $betreff, $nachricht, $extra);
echo "Der Eintrag wurde hinzugefügt!<br><br><a href=\"gaestebuch.php\">Einträge ansehen</a>";
$eintrag_gespeichert = TRUE;
}
else
{
echo $fehler;
}
}
if(empty($eintrag_gespeichert))
{
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<table class="fliesstextseiten" width="500">
<tr>
<td colspan="2" align="center"></td>
</tr>
<tr>
<td width="100">Name:</td>
<td><input name="name" type="text" value="<?php echo $name ?>"></td>
</tr>
<tr>
<td width="100">E-Mail:</td>
<td><input name="email" type="text" value="<?php echo $email ?>"></td>
</tr>
<tr>
<td width="100">Homepage:</td>
<td><input name="homepage" type="text" value="<?php echo $homepage ?>"></td>
</tr>
<tr>
<td width="100" valign="top">Eintrag:</td>
<td><textarea name="eintrag" cols="40" rows="10"><?php echo $eintrag ?></textarea></td>
</tr>
<tr>
<td colspan="2">Bitte geben Sie den folgenden Code in das Eingabelfeld ein. Diese Massnahme dient dem Spam-Schutz.</td>
</tr>
<tr>
<td width="100" valign="top"><img src="captcha.php?PHPSESSID=<?php echo session_id(); ?>"></td>
<td><input type="text" name="sicherheitscode" size="4"></td>
</tr>
<tr>
<td colspan="2" align="right"><input name="speichern" type="submit" id="speichern" value="Eintragen"></td>
</tr>
</table>
</form>
<?php
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!--Ende Teilungstabelle-->
</td>
</tr>
</table>
</body>
</html>
Ich hoffe ihr könnt mir weiterhelfen, bin echt mit meinem latein am Ende...
Danke schonmal.
