Brauche Hilfe --> Code einfügen

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Brauche Hilfe --> Code einfügen

Beitragvon Nanard » 21.02.2007, 11:31

Hallo an alle,

ich bin leider kein freak von PHP, und ich habe ein Web-Seite erstellt mit hilfe von verschiedene kleine Code die ich auf der Web gefunden habe.
Webseite : http://www.landgasthofzumhirsch.de

Leider mein Gaestebuch wird ständig von Spam bombardiert, und wollte ihre Code probieren. Ich bringe schon das Bild hin, aber wo und wie soll ich der Code einfügen in meine Formular, anbei der Code.
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <META NAME="title" CONTENT= "Landgasthof zum Hirsch - Restaurant und Fremdenzimmer">
    <META NAME="abstract" CONTENT="Der Landgasthof zum Hirsch liegt sehr idyllisch in Welden im schwäbischen Holzwinkel (bei Augsburg) und ist Ihre gute Adresse mit Ludwig Ganghofer-Historie.">
    <META NAME="description" CONTENT="Der Landgasthof zum Hirsch liegt sehr idyllisch in Welden im schwäbischen Holzwinkel (bei Augsburg) und ist Ihre gute Adresse mit Ludwig Ganghofer-Historie. Verbringen Sie gemütliche Stunden bei ausgezeichnetem Essen und gepflegten Getränken oder schlafen Sie ausgeruht in unseren freundlichen, preiswerten Fremdenzimmern.">
    <META NAME="keywords" CONTENT="landgasthof, gasthof, gaststätte, gastronomie, hirsch, welden, holzwinkel, schwaben, augsburg, ludwig ganghofer, ganghofer-saal, ganghofer, saal, hochzeiten, familienfeiern, tagungen, taufen, geburtstage, ganghofer-bier, bier, ganghofer-pfännle, wintergarten, fremdenzimmer, küche, getränke, essen, übernachten, frühstück, übernachtung, legoland deutschland, legoland, tagungsräume, biergarten, kellerbar, bar, behindertengerecht, max fugger, graf josef maria fugger, st. thekla, kloster, rokokokirche, restaurant, theklaberg, schwarzer adler, brotzeit, speisekarte, brunnenpavillon, nebenzimmer, brotzeit, stube, halbpension, vollpension, frühstück, lebenslauf eines optimisten, ganghofer-stätte, reservierung, online-shop">
    <meta HTTP-EQUIV="keywords" content="Landgasthof, Gasthof, Gaststätte, Gastronomie, Hirsch, Welden, Holzwinkel, Schwaben, Augsburg, Ludwig Ganghofer, Ganghofer-Saal, Saal, Ganghofer, Hochzeiten, Familienfeiern, Tagungen, Taufen, Geburtstage, Ganghofer-Bier, Bier, Ganghofer-Pfännle, Wintergarten, Fremdenzimmer, Küche, Getränke, Essen, Übernachten, Frühstück, Übernachtung, Legoland Deutschland, Legoland, Tagungsräume, Biergarten, Kellerbar, Bar, Behindertengerecht, Max Fugger, Graf Josef Maria Fugger, St. Thekla, Kloster, Rokokokirche, Restaurant, Theklaberg, Schwarzer Adler, Brotzeit, Speisekarte, Brunnenpavillon, Nebenzimmer, Brotzeit, Stube, Halbpension, Vollpension, Frühstück, Lebenslauf eines Optimisten, Ganghofer-Stätte, Reservierung, Online-Shop">
    <META NAME="author" CONTENT="Davy Bernhard">
    <META NAME="copyright" CONTENT="Landgasthof zum Hirsch - Restaurant und Fremdenzimmer">
    <META NAME="distribution" CONTENT="global">
    <META NAME="identifier-url" CONTENT="http://www.landgasthofzumhirsch.de/">
   
    <META NAME="revisit" CONTENT="30 Days">
    <META NAME="language" CONTENT="de">
    <title>      Willkommen bei Landgasthof zum Hirsch
    </title>
    <STYLE type=text/css media=screen>
    @import url( styles.css );
    </STYLE>
   
  </head>


<body>

<FORM ACTION="guestbook/save.php" METHOD=POST>
<TABLE>
  <TR>
    <TD>Name:</TD>
    <TD><INPUT TYPE=text NAME=name SIZE=30 MAXLENGTH=150></TD>
  </TR>
  <TR>
    <TD>Betreff:</TD>
    <TD><INPUT TYPE=text NAME=betreff SIZE=30 MAXLENGTH=150></TD>
  </TR>
  <TR>
    <TD>E-Mail:</TD>
    <TD><INPUT TYPE=TEXT NAME=email SIZE=30 MAXLENGTH=50></TD>
  </TR>
  <TR>
    <TD> </TD>
    <TD><INPUT TYPE=CHECKBOX NAME=open CHECKED>
        Soll die Emailadresse später im Gästebuch angezeigt werden?</TD>
  </TR>
  <TR>
    <TD>Homepage:</TD>
    <TD><INPUT TYPE=TEXT NAME=hp SIZE=30 MAXLENGTH=255></TD>
  </TR>
  <TR>
    <td><img src="captcha/captcha.php" border="0" title="Sicherheitscode"></td>
    <TD>Bitte Code angeben:&nbsp;<input type="text" name="sicherheitscode" size="4"></TD>
  </TR>
  <TR>
    <TD>Kommentar:</TD>
    <TD><textarea name="inhalt" rows="6" cols="50"></textarea></TD>
  </TR>
  <TR>
    <TD> </TD>
<!--    <TD><INPUT TYPE=IMAGE SRC="../img/absenden.gif" ALT="In das G&auml;stebuch eintragen" BORDER=0></TD>-->

    <TD><INPUT TYPE=SUBMIT NAME="VALIDATION" VALUE="In das Gästebuch eintragen" BORDER=0></TD>
   
  </TR>
</TABLE>
</FORM>


<?
# es werden immer max. 10 Einträge angezeigt.
# optionaler Parameter: z (welche der 10 Einträge)
# falls nicht angegeben, dann die ersten 10.

if (!file_exists("guestbook/guestbook.csv"))  fclose(fopen("guestbook/guestbook.csv","w+"));
if (!is_writable("guestbook/guestbook.csv"))  die("Datei ist nicht beschreibbar!");


$lines=file("guestbook/guestbook.csv");

/* Anzahl der Seiten und weitere Variablen */

$num = sizeof($lines);
$step = 10;               # Anzahl der maximal angezeigten Einträge

$seiten = ceil($num / $step);
if (!$z) $z = 1;
$y = $z * $step;
$x = $y - $step;
if ($y > $num) $y = $num;
$y = $num - $y-1;
$x = $num - $x-1;

if ($num > 0) {
  for ($i= $x; $i > $y ; $i--)  {
    # Das Array wird rückwärts ausgelesen,
    # damit der letzte Eintrag zuerst erscheint.

    $entry = explode ("µ", $lines[$i]); #zerlege i-te Zeile
    $nr = $entry[0];
    $name = $entry[1];
    $open = $entry[3];
    if ($open == "on") {
      $email = $entry[2];
      if (strlen($email)< 8) $email = "keine E-Mail";
      else $email = "<A HREF='mailto:$email'><img src='images/email.gif' border='0'></A>";
    }
   
    $hp = $entry[4];
    if ($hp != "") $hp = "<A HREF='$hp' TARGET=_new><img src='images/www.gif' border='0'></A>";
    else $hp= "keine Homepage";
   
    $inhalt = stripslashes($entry[5]);
    $betreff = stripslashes($entry[6]);
    $kommentar = stripslashes($entry[7]);
    if ($kommentar != "") $kommentar = "<BR><FONT COLOR=#FF0000>Unser Kommentar: $kommentar</FONT>";

    /* Formatierung des datums */
    $datum = $entry[8];
    $jahr = substr($datum,2,2);
    $monat = substr($datum,4,2);
    $tag = substr($datum,6,2);
    $stunde = substr($datum,8,2);
    $minute = substr($datum,10,2);
    $datum = "$tag-$monat-$jahr | $stunde:$minute";
   
?>
    <table width="650" border="3" bordercolor="#b26c34" style="border-collapse: collapse">
    <tr>
    <td valign="top" width="30%">
    <u><b>Name:</b></u> <? echo $name ?><br><br>
    <? echo $email ?><br><br>
    <? echo $hp ?><br><br>
    <u><b>Datum:</b></u><br>
    <? echo $datum ?>
    </td>   
    <td valign="top">
    <u><b>Betreff:</b></u> <? echo $betreff ?><br><br>
    <? echo $inhalt ?><br>
    <? echo $kommentar ?>
    </td>
    </tr>
    </table><br>
   

<?
    flush();
  }


} else echo "Es gibt noch keine Eintr&auml;ge im Gästebuch";


/* Weiter unten */

if ($num > $step) {
  echo "<CENTER>";
  $vor = $z - 1;
  $next = $z + 1;
  if ($vor != 0) echo "<A HREF='gaestebuch.php?z=$vor'>";
  echo "Vorherige";
  if ($vor != 0) echo "</A>";
  echo " | ";
  if ($next <= $seiten) echo "<A HREF='gaestebuch.php?z=$next'>";
  echo "Weitere";
  if ($next <= $seiten) echo "</A>";
  echo "</CENTER><P>";
}

?>
</body>
</html>



Vielen dank für Ihre Hilfe.

Gruß

Davy
Nanard
 
Beiträge: 5
Registriert: 21.02.2007, 11:17

Beitragvon Nanard » 21.02.2007, 15:48

Hallo Leute,

ich habe gefunden wo das Script geht, erklärung ich habe mein vorherige guaestebuch.php und habe mein save.php. Also habe ich diese Code in mein save.php eingefügt, jetzt funtionnert ABER nur der "Else" macht mir probleme, ich habe einfach geschrieben
Code: Alles auswählen
<p>Falsche Code!!!</P>

und wenn er ein falsche Password gibt bekommt er ein leere Fenster mit Falsche CODE !!! was nochmale ist
aber ich möchte das er diese Satz in meine GB schreibt neben der INPUT Felder, habt ihr ein Idee.

code save.php
Code: Alles auswählen
<?php

session_start();
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"], "8h384ls94");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if($sicherheits_eingabe == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

if (!is_writable("guestbook.csv"))  die("Datei ist nicht beschreibbar!");

$postvars [] = "name";
$postvars [] = "email";
$postvars [] = "open";
$postvars [] = "hp";
$postvars [] = "inhalt";
$postvars [] = "betreff";
foreach ($postvars as $id=>$postvarname) {
  unset($$postvarname);
  if (isset($_POST[$postvarname])) $$postvarname = $_POST[$postvarname];
  if (isset($HTTP_POST_VARS[$postvarname])) $$postvarname = $HTTP_POST_VARS[$postvarname];
}


function my_nl2br ($text) {
  $retvalue = "";
  for ($ii = 0; $ii < strlen($text); $ii++){
    if ($text[$ii]!=chr(13)) # diese Zeile fehlt wohl in der Originalroutine
      $text[$ii]=="\n" ? $retvalue .= "<BR>" : $retvalue .= $text[$ii];
  }
  return $retvalue;
}


if (!file_exists("guestbook.csv"))  fclose(fopen("guestbook.csv","w+"));

if ($inhalt) {

  # errechne nächste Nummer
  $lines=file("guestbook.csv");
  $num = sizeof($lines);
  if ($num) {
    $entry = explode ("µ", $lines[$num-1]); #zerlege letzte Zeile
    $index = $entry[0]+1;
  } else $index = 1;

  $fp=fopen("guestbook.csv","a");

  $datum = date("YmdHis");
  $inhalt = addslashes($inhalt);
  $name = addslashes($name);
  if ($name == "") $name = "unbekannt";
  if (!$open) $open = "";

  if ($hp != "") {
    $pos = strpos ($hp, "http:");
    if ($pos === false) {
      $pos = strpos ($hp, "//");
      if ($pos === false) {
       $hp = "//".$hp;
      }
       $hp = "http:".$hp;
   }
  }

  $name = strip_tags ($name);
  $email = strip_tags ($email);
  $inhalt = strip_tags ($inhalt, "<b></b><i></i><br>");

  fwrite($fp, my_nl2br(implode(array ($index, $name, $email, $open, $hp, $inhalt, $betreff, "", $datum) ,"µ")) . "\n");
  fclose($fp);
}

header("Location: ../gaestebuch.php?z=1");

}
else {
?>
<p>Falsche Code!!!</p>
<?
}

?>


Vielen dank für Ihre Hilfe
(Bald werde ich noch verstehen wie es alles lauft) :lol:

Gruß
Davy
Nanard
 
Beiträge: 5
Registriert: 21.02.2007, 11:17

Beitragvon Nanard » 21.02.2007, 16:30

Hallo wieder,

ich habe gesucht in WEB und habe "wieder" selbst gefunden.
habe einfache geschrieben:
Code: Alles auswählen
header("Location: ../gaestebuch2.php?z=1");

Und gaestebuch2.php habe ich zusätzlich ein Zeile zugefügt mit der Hinweiss "Sie haben ein Falsche Code eingetragen"

Sorry für diese Forum Eintrag, ich hätte warten können und ein bisschen mehr ausprobieren, aber vielleicht hilft das Jemand.

Vielen dank trotzdem
Gruß
Davy
Nanard
 
Beiträge: 5
Registriert: 21.02.2007, 11:17


Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron