Ergebnis 1 bis 5 von 5

Thema: Session Problem beim eingeloggtem Mitglied. PictureCaptcha

  1. #1
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Frage Session Problem beim eingeloggtem Mitglied. PictureCaptcha

    Hallo!
    Wieder ein Session Frage, die warscheinlich wieder ohne Antwort bleibt.
    Es wird in der captcha.php der Code in der Session abgelegt.
    PHP-Code:
    define('TL_MODE''FE');
    require_once(
    '../../initialize.php');
    class 
    createCapture extends PictureCaptcha
    {
    protected function 
    generateCaptchacode()
        {
    ....
    $this->Session->set('imagecaptcha',$captchacode);
            }

    Nur wenn man aber eingeloggt ist, passiert es nicht.
    Warum?
    die captcha.php ist nicht in der config , sie wird beim laden der Seite aufgerufen.
    Macht nichts anderes als Code generieren, in der Session speichern und Bild ausgeben.
    in der PictureCaptcha.php werden die Sessionwerte weiterhin aktualisiert.

  2. #2
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Hallo,

    also wenn der User sich im Frontend einloggt funktioniert das Captcha nicht mehr?
    Hast du mal die komplette Session vor und nach dem einloggen ausgegeben?
    Wenn ja was steht da drin?

  3. #3
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Standard

    Hi,
    ich denke beim user login wird irgendwie eine andere Seission geladen. Eingelogt:
    PHP-Code:
    Session Object ( [arrSession:protected] => Array ( [referer] => Array ( [last] => /contao-2.9.1/index.php/plugins/mediabox/js/mediabox.js?1.2.0 [current] => /contao-2.9.1/index.php/home.html ) [captcha_23] => Array ( [sum] => [key] => c1822f1d2dfe9669ce87644a5d35a2938 [time] => 1289209426 ) [captcha_22] => Array ( [key] => cd407f0f2226913b15682b0930b9dbbf2 [time] => 1289209419 ) [imagecaptcha] => ) ) 
    Ausgelogt:
    PHP-Code:
    Session Object ( [arrSession:protected] => Array ( [captcha_23] => Array ( [sum] => 14 [key] => c183b8417da5ea4084b782138db26bb38 [time] => 1289209571 ) [captcha_22] => Array ( [key] => ccbaac8843d4bb03f9d2cf2feddd9f36a [time] => 1289209569 ) [referer] => Array ( [last] => /contao-2.9.1/cron.php [current] => /contao-2.9.1/system/modules/PictureCaptcha/captcha.php ) [imagecaptcha] => 8xwh ) ) 
    Im moment sind 2 Sicherheitsfragen eingebaut. (Text + image). Zum vergleich.
    Allso, die Serssion werte die in der PictureCaptcha.php werden gesetzt, deswegen is in der Ersten Zeile der Wert leer. Einfach die Queltext der Erweiterung angucken, es wird in der validate , am ende auf leer gesetzt.
    Wenn ich die Zeile lösche und der User eingelogt ist. Dann bleime der Session wert imagecaptcha immmer leer. Wen ich die Session imagecaptcha löche, dann gibt es ihn gar nich mehr. Es wird nie mehr gesetzt.
    Eigentlich habe ich das Ganze schon oben geschrieben, viele Tests haben mich soweit gebracht.
    Geändert von bruc13 (08.11.2010 um 09:54 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Standard

    Wenn ich keine Contao funktion zum Setzen und auslesen der Session benutzte, dann funktioniert es.
    Ich denke die Jenigen die sich mit system besser auskehnen werden es wissen.
    Leo weiß es bestimmt denke ich.
    PHP-Code:
    $_SESSION['imagecaptcha'] = $captchacodecaptcha.php
    $arrCaptcha
    ['sum']=$_SESSION['imagecaptcha']; picturec...php function validate() 

  5. #5
    Contao-Nutzer
    Registriert seit
    17.02.2011.
    Ort
    München
    Beiträge
    1

    Standard

    Hier eine Lösung die bei mir funktioniert:

    In \system\modules\PictureCaptcha\captcha.php

    PHP-Code:
    public function __construct()
    {
        
    // Einfügen    
        
    $this->import('FrontendUser''User');

        
    parent::__construct();
    ... 
    Und weiter unten:

    PHP-Code:
    protected function generateCaptchacode()
    {
        
    // Einfügen    
        
    $this->User->authenticate();

    ... 
    Nachtrag:

    Wenn man erst ein Formular lädt und sich dann einloggt gibt's bei mir ein Referer Problem.

    Dann mal im cp.css folgendes probieren:

    background: transparent url(../captcha.php?file=1) no-repeat left top;
    Geändert von Huibuh (17.02.2011 um 18:29 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. PictureCaptcha Reload-Link
    Von flom01 im Forum Sonstige Erweiterungen
    Antworten: 3
    Letzter Beitrag: 17.11.2010, 20:14
  2. Antworten: 3
    Letzter Beitrag: 03.11.2010, 14:04
  3. System-Log - welches Problem hat dieses Mitglied mit dem Login?
    Von bony im Forum Geschützte Bereiche/Mitglieder
    Antworten: 1
    Letzter Beitrag: 09.06.2010, 12:03
  4. Problem: Verfallszeit einer Session
    Von bird im Forum Sonstiges zu Contao
    Antworten: 6
    Letzter Beitrag: 26.10.2009, 21:23

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •