Zurück tutorials.de > Programming > PHP

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 25.03.07, 11:27   #1 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2004
Beiträge: 103
Renommee-Modifikator: 0
Nepheus hat eine blütenweiße Weste

CAPTCHA Problem

Hey,
habe ein Script von der Page Stoppt-den-Spam.info in meine Homepage eingebaut, klappt leider noch nicht ganz so wie es soll. Es handelt sich um ein CAPTCHA Code. Die Anzeige des Codes funktioniert einwandfrei, das Problem stellt sich bei dem Sichern der Daten. Das Formular prüft ob der eingegebene CAPTCHA Code mit dem vorgegebenen übereinstimmt und 'sollte' den Eintrag speichern. Obwohl ich den richtigen Code eintrage sichert er nichts.

Der Code:

captcha.php
PHP-Code:
<?php
   
//ERSTELLEN EINES SICHERHEITSCODES
   
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$i1);
      
$keychar substr($key, ($i strlen($key))-11);
      
$char chr(ord($char)+ord($keychar));
      
$result.=$char;
   }
   return 
base64_encode($result);
   }

   
$_SESSION['captcha_spam'] = encrypt($text"8h384ls94"); //Key
   
$_SESSION['captcha_spam'] = str_replace("="""$_SESSION['captcha_spam']);

        
   
header('Content-type: image/png');
   
$img ImageCreateFromPNG('captcha.PNG'); //Backgroundimage
   
$color ImageColorAllocate($img000); //Farbe
   
$ttf "fontf"//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);
?>
Im Formular
1. Eingabefeld
2. Abfrage ob falsche Eingabe
3. Ausgabe des Codes
PHP-Code:
//1.
<input type="text" name="captcha" maxlength="4">

//2.
if(session_is_registered("captcha")){
 echo 
"<br><font color='#9B3C3C'><b>Sicherheitscode inkorrekt eingegeben!</b></font>";
 
session_unregister("captcha");
}

//3.
<img src="captcha.php" border="0" title="sicherheitscode"
Überprüfung ob der vorgegebene mit dem eingetragenen Code übereinstimmt
PHP-Code:
//if($_GET['action']=="save")
// {
  
function encrypt($string$key) {
   
$result '';
   for(
$i=0$i<strlen($string); $i++) {
      
$char substr($string$i1);
      
$keychar substr($key, ($i strlen($key))-11);
      
$char chr(ord($char)+ord($keychar));
      
$result.=$char;
   }
   return 
base64_encode($result);
  }
  
$sicherheits_eingabe encrypt($_POST['captcha'], "8h384ls94");
  
$sicherheits_eingabe str_replace("="""$sicherheits_eingabe);
  if(
$sicherheits_eingabe == $_SESSION['captcha_spam']){
    
    unset(
$_SESSION['captcha_spam']); 
    
    
//speichern der daten
    
  
}else{
   
session_register("captcha");
  }
//  } 
Es geht nur um die markierten Zeilen die ersten und letzten sind teil des Gästebuchscripts. Wie gesagt trotz korrekter Eingabe wird der Eintrag nicht gespeichert. Kann mir da evtl. jemand weiterhelfen? =/

Link: www.fahrrad-warscheid.de/html/gb.php


Greetz

Zusatzinfo:

Ich nehme an es liegt an der Session. Eigentlich müsste ja die session captcha registiert werden falls kein Eintrag vorgenommen wird, anders gesagt im Falle einer inkorrekten Eingabe des Codes. Sie wird aber nicht registiert...
  Nepheus ist offline  
 
Alt 25.03.07, 13:28   #2 (permalink)
do ut des
 
Benutzerbild von Felix Jacobi tutorials.de Moderator 
 
Registriert seit: Nov 2001
Ort: Wuppertal
Beiträge: 4.785
Renommee-Modifikator: 54
Felix Jacobi hat die Renommee-Anzeige deaktiviert

AW: CAPTCHA Problem

Da du mit $_GET arbeitest nehme ich an, dass register_globals deaktiviert ist (was auch richtig ist), daher funktioniert session_register() nicht.
Stattdessen solltest du mit $_SESSION arbeiten.

PHP-Code:
$_SESSION['captcha'] = true
__________________
Der neue Personalausweis kommt...

KIDS Kinderbetreuungsdienst
Xing

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
  Felix Jacobi ist offline  
 
Alt 25.03.07, 14:42   #3 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2004
Beiträge: 103
Renommee-Modifikator: 0
Nepheus hat eine blütenweiße Weste

AW: CAPTCHA Problem

Problem leider nicht behoben =/

gleiche Fehler wie bisher...

habe else schleife erweitert:
PHP-Code:
}else{
 
$_SESSION['captcha'] = true;
 echo 
"<meta http-equiv='refresh' content='0; URL=?action=neu'>";

ohne Erfolg er leitet nicht weiter, das heißt er geht nicht in die else schleife. Müsste er aber oder nicht?!

Geändert von Nepheus (25.03.07 um 14:50 Uhr).
  Nepheus ist offline  
 
Alt 29.03.07, 13:29   #4 (permalink)
 
Benutzerbild von tobee  
 
Registriert seit: Jul 2005
Ort: Karlsruhe
Beiträge: 1.585
Renommee-Modifikator: 17
tobee ist einfach richtig netttobee ist einfach richtig nett

AW: CAPTCHA Problem

Hast du den error_reporting mal auf E_ALL gesetzt?
PHP-Code:
error_reporting E_ALL ); 
  tobee ist offline  
 
Alt 29.03.07, 13:38   #5 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2004
Beiträge: 103
Renommee-Modifikator: 0
Nepheus hat eine blütenweiße Weste

AW: CAPTCHA Problem

Wo muss ich das denn reinschreiben und was macht das? Bin nicht so der Profi in PHP sorry =/
  Nepheus ist offline  
 
Alt 29.03.07, 20:21   #6 (permalink)
do ut des
 
Benutzerbild von Felix Jacobi tutorials.de Moderator 
 
Registriert seit: Nov 2001
Ort: Wuppertal
Beiträge: 4.785
Renommee-Modifikator: 54
Felix Jacobi hat die Renommee-Anzeige deaktiviert

AW: CAPTCHA Problem

error_reporting()

Ein Blick in die Funktionsreferenz bringt immer etwas
__________________
Der neue Personalausweis kommt...

KIDS Kinderbetreuungsdienst
Xing

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
  Felix Jacobi ist offline  
 
Alt 30.03.07, 09:21   #7 (permalink)
Mitglied Brokat
 
Benutzerbild von Billie  
 
Registriert seit: Jan 2003
Ort: Arzl im Pitztal (Tirol)
Beiträge: 471
Renommee-Modifikator: 16
Billie befindet sich auf einem aufstrebenden Ast

AW: CAPTCHA Problem

Hm, du könntest dir natürlich auch mein Tutorial mal ansehen

http://www.tutorials.de/forum/php-tu...-freetype.html
  Billie ist offline  
 
Alt 31.03.07, 15:29   #8 (permalink)
Mitglied Gold
 
Registriert seit: Jan 2004
Beiträge: 103
Renommee-Modifikator: 0
Nepheus hat eine blütenweiße Weste

AW: CAPTCHA Problem

Problem gelöst.

Habe die "Save" Funktion in eine neue Datei gepackt. Der Fehler war wohl was mit session. Da in der neuen Datei die session nochmal gestartet wurde wurde das problem wohl von selbst behoben, naja weiß auch nich genau trotzdem thx an euch =)
  Nepheus ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Captcha-Grafiken erstellen xtratz PHP 0 23.05.07 13:19
Captcha Problem d2mike PHP 2 09.01.07 12:12
captcha problem croqued-monsieur PHP 4 14.06.06 10:30
Captcha Problem (einbinden) Benard PHP 6 22.05.06 12:41
Captcha: Verschleierung mistertwisters PHP 5 07.05.06 14:17
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 134
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 261
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 149
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 100
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 190
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 79,79%
150 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 20,21%
38 Stimmen
Stimmen gesamt: 188
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,34786 Sekunden mit 26 queries