grafische Sicherheitsüberprüfung

thomsonz

Mitglied
EIN GESUNDES NEUES @ALLE!
Leider habe ich ein problem mit meinem Skript. Es trägt leider kein eintrag ein da irgendwie der sicherheitscode ständig als "falsch eingegeben" erkannt wird. Kann mir vielleicht jemand von Euch helfen?
Danke
PHP:
<?php 
include ("include/config.php");
include ("template/headerg.tpl.html");
function PostVar($variablen_name) {
	$ergebnis = $_POST[$variablen_name];
	if (get_magic_quotes_gpc()) $ergebnis = stripslashes($ergebnis);
	return trim($ergebnis);
}

function format ($text) {
	$text = htmlentities($text);
	$text = str_replace("\r\n\r\n","<br><br>",$text);
	return $text;

}


$eintrag = PostVar("eintrag");
$autor = PostVar("autor");
$status = $_POST['status'];
$sicherheit = $_POST['sicherheitscode'];
$grenzwert = 1000;
$anzeigen = true;
$fehler = "";
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam'])  $fehler .="";
elseif ($status == "") $fehler .="";
else $fehler .="<li>Der Sicherheitscode wurde falsch eingegeben</li>";
if (empty($sicherheit)) $fehler .="<li>Du hast den Sicherheitscode nicht eingegeben</li>";
elseif ($status == "") $fehler .="";
if (empty($eintrag)) $fehler .= "<li>Du hast keinen Text eingegeben</li>";
elseif($status == "") $fehler ="";
if (empty($autor)) $fehler .= "<li>Bitte gib einen Namen ein</li>";
elseif ($status == "") $fehler ="";
if (strlen($eintrag) > $grenzwert) $eintrag = 
substr($eintrag,0,$grenzwert);
elseif ($status == "") $fehler ="";
if (!strpos($eintrag," ") || strpos($eintrag," " > 60))
	$eintrag = wordwrap($eintrag, 60, " ", 1);
elseif ($status == "") $fehler ="";
?>

<div align="center" style="background-color:#CCCC99"><br />
<table width="500px" border="0" class="Stilb" cellspacing="20">
<tr>
	<td valign="top"><br /><br />
		<h1 style="text-align:center">Footsteps-G&auml;stebuch</h1><br /><br />
		<hr width="500" noshade="noshade" />
		
<? 

if (!empty($fehler)) {
$anzeigen = false;
echo "<p><b>Leider konnte Dein Beitrag nicht gespeichert werden: </b></p>";
echo "<ul>$fehler</ul>";
} 
elseif ($status == "Vorschau") {
$anzeigen = false;
$datum = date("\a\m j. n. Y \u\m H:i");

?>
<div align="center">
<h3>So sieht Dein Eintrag derzeit aus:</h3>
<hr width="150" noshade="noshade">
<p> <?=format($eintrag)?></p>
<p><small><b><?=htmlentities($autor),", $datum"?></b></small></p></div>
<hr width="150" noshade="noshade" />
<p><b>Um Deinen Beitrag zu bearbeiten, benutze bitte das Formular.</b></p>

<?php
} 
elseif($status == "Eintragen") { 
$query = "INSERT INTO guestbook SET 
	datum = now(),
	autor = '".addslashes($autor)."', 
	eintrag = '".addslashes($eintrag)."' ";
	
	$sql = mysql_query($query) or die (mysql_error());
	}
				
if ($status != "Vorschau") {
$query = "SELECT DATE_FORMAT(datum,'am %e. %c. %Y um %k:%i') AS datum, eintrag, autor FROM guestbook ORDER BY id DESC";
$sql = mysql_query($query) or die(mysql_error());
i == 0;
while ($ds = mysql_fetch_object($sql)) {$i++;
				if($i % 2 == 0) {$img = '<img src="/template/image/guestbook/stepright.jpg" align="middle" />';}
				else {$img ='<img src="/template/image/guestbook/stepleft.jpg" align="middle" />';}
$eintrag = $ds ->eintrag;
$autor = $ds ->autor;
$datum = $ds ->datum; 
?><img src="template/image/guestbook/kopf.gif" />&nbsp;
<div style="background-image:url(template/image/guestbook/kompass.jpg); background-repeat:no-repeat; background-position:right" ><?=format($eintrag)?></div>
<p align="right"><small><b><?=htmlentities($autor),", $datum"; ?></b></small>
 <?=$img; ?></p>
<hr width=300" noshade="noshade" />
<?php 
}
unset($eintrag,$autor);
} 
?>	<div style="background-color:#CCCC99">&nbsp;</div>
<form action="guestbook.php" method="post" name="eintrag1" style="border:thin">
<p><small><b>Dein G&auml;stebucheintrag (maximal <?=$grenzwert ?> Zeichen):</b></small><br />
<textarea style="width:500px;height : 240px" name="eintrag">
	<?=htmlentities($eintrag)?></textarea>
</p>

	<small><b>Dein Name: </b></small><br />
	<input style="width:500px" type="text" name="autor" maxlength="50" value="<?= htmlentities($autor)?>" />
</p><div align="left"><small><b>Sicherheits&uuml;berprfung</b></small></div><img src="captcha/captcha.php" border="0" title="Sicherheitscode" height="35" align="absmiddle"> -->* <input type="text" name="sicherheitscode" size="5">
<p>
<input type="submit" name="status" value="Vorschau" />
<input type="submit" name="status" value="Eintragen" />
</p>
</form></td>
</tr>
</table><br><br>
</div>

<?php include ("template/footer.tpl.html");?>
 
Hi,

dann mach mal Testausgaben von $_SESSION['captcha_spam'] und $_POST["sicherheitscode"]. Steht da auch das drin, was Du erwartest?

LG
 
Leider kommt bei $_SESSION['captcha_spam'] nichts an. Habe jetzt auch noch mal rumprobiert aber leider kommt außer der $_POST['sicherheitsabfrage'] nichts an.
 
Wo steht bei beginn der Seite.. das session start... Wird überhaupt eine gestartet.. steht das in der config.php...?

mfg Spikaner
 
die session_start() steht in der captcha.php bin jetzt kurz davor eine extra php anzulegen wo nur der Eintrag in die Tabelle eingefügt wird. dort kann ich ja dann die Sicherheitsüberprüfung einbauen
 
also ich habe jetzt nochmal rumprobiert wenn ich an irgendeine stelle das session_start() einbaue kommt die meldung dass der header die schon gesendet haben soll. Kann sich vielleicht jemand nochmal erbarmen und mir versuchen zu helfen.
 
Hi du!

Du musst einfach die Session vor den Headern alse <head>....</head> starten, also wie folgt:

<?
session_start();
?>
und dann die seite!

Mfg
 
So nun habe ich es endlich geschafft das script tut das was ich von ihm verlange, tatsächlich lag es an der session_start(); die ich nicht eingefügt habe thanx @ spikaner.
wen es interessiert hier habe ich das script komlett
PHP:
<?php
session_start();?> 
<link rel="shortcut icon" href="favicon.ico" >
      <link rel="icon" href="template/image/home/animated_favicon1.gif" type="image/gif" >
<style type="text/css">
<!--
.Stilb {background-color:#FFFFFF}
</style>
<?php 
include ("include/config.php");
include ("template/headerg.tpl.html");
function PostVar($variablen_name) {
	$ergebnis = $_POST[$variablen_name];
	if (get_magic_quotes_gpc()) $ergebnis = stripslashes($ergebnis);
	return trim($ergebnis);
}
// Smileys definieren Funktion steht in der header.tpl.html
function format ($text) {
	$text = htmlentities($text);
	$text = str_replace("\r\n\r\n","<br><br>",$text);
	$text = str_replace("::jump::", "<img src='/template/image/guestbook/smilies/jump.gif'>",$text); 
	$text = str_replace("::work::", "<img src='template/image/guestbook/smilies/work.gif' height='35'>",$text);
	$text = str_replace("::music::", "<img src='template/image/guestbook/smilies/music.gif'>",$text);
	$text = str_replace("::travel::", "<img src='template/image/guestbook/smilies/travel.gif'>",$text);
	$text = str_replace("::respect::", "<img src='template/image/guestbook/smilies/respect.gif'>",$text);
	$text = str_replace("::foot::", "<img src='template/image/guestbook/smilies/footsteps.gif' height='70'>",$text);
	$text = str_replace("[cen]", "<div align='center'>",$text);
	$text = str_replace("[ter]", "</div>",$text);
	$text = str_replace("::daily::", "<img src='template/image/guestbook/smilies/daily.gif'>",$text);
	$text = str_replace("::bag::", "<img src='template/image/guestbook/smilies/bag.gif'>",$text);
	$text = str_replace("::holliday::", "<img src='template/image/guestbook/smilies/holliday.gif' height='35'>",$text);
	$text = str_replace("::flower::", "<img src='template/image/guestbook/smilies/flower.gif'>",$text);
	$text = str_replace("::thumb::", "<img src='template/image/guestbook/smilies/thumb.gif'>",$text);
	$text = str_replace("::wink::", "<img src='template/image/guestbook/smilies/wink.gif'>",$text);
	$text = str_replace("::jump1::", "<img src='template/image/guestbook/smilies/jump1.gif'>",$text);
	$text = str_replace("::shipper::", "<img src='template/image/guestbook/smilies/shipper.gif'>",$text);
	$text = str_replace("::asia::", "<img src='template/image/guestbook/smilies/asia.gif'>",$text);
	$text = str_replace("::laugh::", "<img src='template/image/guestbook/smilies/laugh.gif'>",$text);
	$text = str_replace("::sad::", "<img src='template/image/guestbook/smilies/sad.gif' height='35'>",$text);
	$text = str_replace("::zwinker::", "<img src='template/image/guestbook/smilies/zwinker.gif' height='35'>",$text);
	$text = str_replace("::ugly::", "<img src='template/image/guestbook/smilies/ugly.gif' height='35'>",$text);
	$text = str_replace("::dance::", "<img src='template/image/guestbook/smilies/dance.gif' height='35'>",$text);
	$text = str_replace("::fly::", "<img src='template/image/guestbook/smilies/fly.gif' height='35'>",$text);
	$text = str_replace("::deutsch::", "<img src='template/image/guestbook/smilies/deutschland.gif' height='35'>",$text);
	$text = str_replace("::peru::", "<img src='template/image/guestbook/smilies/peru.gif' height='35'>",$text);
	$text = str_replace("::thai::", "<img src='template/image/guestbook/smilies/thailand.gif' height='35'>",$text);
return $text;
}

$eintrag = PostVar("eintrag");
$autor = PostVar("autor");
$status = $_POST['status'];
$sicherheit = $_POST['sicherheitscode'];
$grenzwert = 1000;
$anzeigen = true;
$fehler = "";

if (empty($sicherheit)) $fehler .="<li>Du hast den Sicherheitscode nicht eingegeben</li>";
elseif ($status == "") $fehler .=""; 
if (empty($eintrag)) $fehler .= "<li>Du hast keinen Text eingegeben</li>";
elseif($status == "") $fehler ="";
if (empty($autor)) $fehler .= "<li>Bitte gib einen Namen ein</li>";
elseif ($status == "") $fehler ="";
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] != $_SESSION['captcha_spam'])  $fehler .="Der Sicherheitscode wurde falsch eingegeben";
elseif ($status == "") $fehler .="";
if (strlen($eintrag) > $grenzwert) $eintrag = 
substr($eintrag,0,$grenzwert);
elseif ($status == "") $fehler ="";
if (!strpos($eintrag," ") || strpos($eintrag," " > 60))
	$eintrag = wordwrap($eintrag, 60, " ", 1);
elseif ($status == "") $fehler ="";

?>

<div align="center" style="background-color:#CCCC99"><br />
<table width="500px" border="0" class="Stilb" cellspacing="20">
<tr>
	<td valign="top"><br /><br />
		<h1 style="text-align:center">Footsteps-G&auml;stebuch</h1><br /><br />
		<hr width="500" noshade="noshade" />
		
<? 

if (!empty($fehler)) {
$anzeigen = false;
echo "<p><b>Leider konnte Dein Beitrag nicht gespeichert werden: </b></p>";
echo "<ul>$fehler</ul>";

} 
elseif ($status == "Vorschau") {
$anzeigen = false;
$datum = date("\a\m j. n. Y \u\m H:i");

?>
<div align="center">
<h3>So sieht Dein Eintrag derzeit aus:</h3>
<hr width="150" noshade="noshade">
<p> <?=format($eintrag)?></p>
<p><small><b><?=htmlentities($autor),", $datum"?></b></small></p></div>
<hr width="150" noshade="noshade" />
<p><b>Um Deinen Beitrag zu bearbeiten, benutze bitte das Formular.</b></p>

<?php
} 
elseif($status == "Eintragen") { 
$query = "INSERT INTO guestbook SET 
	datum = now(),
	autor = '".addslashes($autor)."', 
	eintrag = '".addslashes($eintrag)."' ";
	
	$sql = mysql_query($query) or die (mysql_error());
	unset ($status);}

			
if ($status == "") {
$query = "SELECT DATE_FORMAT(datum,'am %e. %c. %Y um %k:%i') AS datum, eintrag, autor FROM guestbook ORDER BY id DESC";
$sql = mysql_query($query) or die(mysql_error());
i == 0;
while ($ds = mysql_fetch_object($sql)) {$i++;
				if($i % 2 == 0) {$img = '<img src="/template/image/guestbook/stepright.jpg" align="middle" />';}
				else {$img ='<img src="/template/image/guestbook/stepleft.jpg" align="middle" />';}
$eintrag = $ds ->eintrag;
$autor = $ds ->autor;
$datum = $ds ->datum; 
?><img src="template/image/guestbook/kopf.gif" />&nbsp;
<div style="background-image:url(template/image/guestbook/kompass.jpg); background-repeat:no-repeat; background-position:right" ><?=format($eintrag)?></div>
<p align="right"><small><b><?=htmlentities($autor),", $datum"; ?></b></small>
 <?=$img; ?></p>
<hr width=300" noshade="noshade" />
<?php 
}
unset($eintrag,$autor);
} 
?>	<div style="background-color:#CCCC99">&nbsp;</div>
<form action="guestbook.php" method="post" name="eintrag1" style="border:thin">
<p><small><b>Dein G&auml;stebucheintrag (maximal <?=$grenzwert ?> Zeichen):</b></small><br />
<textarea style="width:500px;height : 240px" name="eintrag">
	<?=htmlentities($eintrag)?></textarea>
</p>
<p>
<a href="javascript: addsmiley('::jump::')" ><img src="template/image/guestbook/smilies/jump.gif"  border="0" /></a> 
<a href="javascript: addsmiley('::music::')" ><img src="template/image/guestbook/smilies/music.gif" border="0" /></a> <a href="javascript: addsmiley('::laugh::')" ><img src="template/image/guestbook/smilies/laugh.gif" border="0" /></a> <a href="javascript: addsmiley('::jump1::')" ><img src="template/image/guestbook/smilies/jump1.gif" border="0" /></a><a href="javascript: addsmiley('::thumb::')" ><img src="template/image/guestbook/smilies/thumb.gif" border="0" /></a> <a href="javascript: addsmiley('::wink::')" ><img src="template/image/guestbook/smilies/wink.gif" border="0" /></a> <a href="javascript: addsmiley('::asia::')" ><img src="template/image/guestbook/smilies/asia.gif" border="0" /></a> <a href="javascript: addsmiley('::flower::')" ><img src="template/image/guestbook/smilies/flower.gif" border="0" /></a> <a href="javascript: addsmiley('::shipper::')" ><img src="template/image/guestbook/smilies/shipper.gif" border="0" /></a> <a href="javascript: addsmiley('::respect::')" ><img src="template/image/guestbook/smilies/respect.gif" border="0" /></a> <a href="javascript: addsmiley('::dance::')" ><img src="template/image/guestbook/smilies/dance.gif" border="0" /></a><br> <a href="javascript: addsmiley('::work::')" ><img src="template/image/guestbook/smilies/work.gif" border="0" height="35" /></a> <a href="javascript: addsmiley('::travel::')" ><img src="template/image/guestbook/smilies/travel.gif" width="41" height="39" border="0" /></a> <a href="javascript: addsmiley('::daily::')" ></a>  <a href="javascript: addsmiley('::bag::')" ></a>  <a href="javascript: addsmiley('::sad::')" ><img src="template/image/guestbook/smilies/sad.gif" border="0" height="35" /></a> <a href="javascript: addsmiley('::zwinker::')" ><img src="template/image/guestbook/smilies/zwinker.gif" border="0" height="35" /></a> <a href="javascript: addsmiley('::ugly::')" ><img src="template/image/guestbook/smilies/ugly.gif" border="0" height="35" /></a> <a href="javascript: addsmiley('::holliday::')" ><img src="template/image/guestbook/smilies/holliday.gif" width="41" height="35" border="0" /></a> <a href="javascript: addsmiley('::fly::')" ><img src="template/image/guestbook/smilies/fly.gif" height="35" border="0" /></a> <a href="javascript: addsmiley('::deutsch::')" ><img src="template/image/guestbook/smilies/deutschland.gif" height="35" border="0" /></a> <a href="javascript: addsmiley('::peru::')" ><img src="template/image/guestbook/smilies/peru.gif" height="35" border="0" /></a> <a href="javascript: addsmiley('::thai::')" ><img src="template/image/guestbook/smilies/thailand.gif" height="35" border="0" /></a></p>
<p>
	<small><b>Dein Name: </b></small><br />
	<input style="width:500px" type="text" name="autor" maxlength="50" value="<?= htmlentities($autor)?>" />
</p><div align="left"><small><b>Sicherheits&uuml;berprfung</b></small></div><img src="captcha/captcha.php" border="0" title="Sicherheitscode" height="35" align="absmiddle"> -->* <input type="text" name="sicherheitscode" size="5" />
<p>
<input type="submit" name="status" value="Vorschau" />
<input type="submit" name="status" value="Eintragen" />
</p>
</form></td>
</tr>
</table><br><br>
</div>

<?php include ("template/footer.tpl.html");?>

Nochmal Vielen Lieben Dank ihr habt mich auf die richtige Fährte gelockt :rolleyes:
 

Neue Beiträge

Zurück