Ergebnis 1 bis 3 von 3

Thema: invalid request token bei be modul

  1. #1
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Ort
    Fläsch
    Beiträge
    248

    Standard invalid request token bei be modul

    Ich versuche folgenden Aufruf zu verwenden, um mein Modul für das neue Token-System fit zu machen:

    Code:
    			new Request.Contao({
    				onSuccess : handleResponse,
    				onFailure : ajaxError,
    				url       : tl_websitepath+'system/modules/shoutbox/shoutbox.php?BE_USER_AUTH=' + $.cookie('BE_USER_AUTH')
    			}).post({'data': JSON.stringify(params), 'REQUEST_TOKEN': token }); // token wird bei der antwort auf response.token gesetzt
    Bevor das Token-System eingeführt wurde, funktionierten meine Requests auch mittels jQuery Aufruf:
    Code:
    			$.ajax( {
    				type : "POST",
    				url : tl_websitepath+'system/modules/shoutbox/shoutbox.php?BE_USER_AUTH=' + $.cookie('BE_USER_AUTH'),
    				data : {
    					'data' : JSON.stringify(params)
    				},
    				success : handleResponse,
    				error : ajaxError,
    				dataType : "text"
    			});
    Mit der neuen Variante kommt die 'Invalid-Request-Token Fehlerseite', auch schon beim ersten Request. Mein Post Request hat aber das Token mit drin.
    Code:
    Parameter | application/x-www-form-urlencoded
    REQUEST_TOKEN | 7f5586120173ae743d774255ec4e486b
    Hat jemand eine Idee an was das liegen kann? Mein Request geht direkt auf meine Modul-PHP-Datei. Evtl. ist das das Problem? Hat jemand schonmal so etwas gemacht und dabei ajax.php verwendet?
    http://www.ideadapt.net - where ideas become code

  2. #2
    Contao-Fan Avatar von markocupic
    Registriert seit
    06.12.2010.
    Ort
    Oberkirch (Schweiz)
    Beiträge
    660

    Standard

    Wie sieht denn deine shoutbox.php Datei aus?

    Beim gallery_creator habe ich einen java-Uploader im Einsatz und hatte ebenfalls ein REQUEST_TOKEN Problem.
    Ich habe es dann so gelöst.


    in der config.php meines Moduls steht dann folgendes:
    Code:
    if (TL_MODE == 'BE')
    {
    	// JumpLoader runs with one token per Session. For this reason its necessary to bypass the request-token-check
    	// Allows to bypass the request-token-check if a known token is passed in
    	if (count($_GET)==6 && isset($_GET['bypassToken']) && $_POST['REQUEST_TOKEN']==$_GET['bypassToken'] && $_GET['table']=='tl_gallery_creator_albums' && ((is_array($_SESSION['REQUEST_TOKEN'][TL_MODE]) && in_array($_POST['REQUEST_TOKEN'], $_SESSION['REQUEST_TOKEN'][TL_MODE])) || $_SESSION['REQUEST_TOKEN'][TL_MODE] == $_POST['REQUEST_TOKEN']))
    	{
    		define('BYPASS_TOKEN_CHECK', true);
    	}
    
    
    	$GLOBALS['BE_MOD']['content']['gallery_creator'] = array
    	(
    		'icon' 		=> 'system/modules/gallery_creator/html/photo.png',
    		'tables' 	=> array('tl_gallery_creator_albums','tl_gallery_creator_pictures')
    	);
    	
    	
    	$GLOBALS['TL_CSS'][]  = 	'system/modules/gallery_creator/html/gallery_creator_be.css';
    }
    Gruess Marko
    Anfragen für bezahlten Support oder Extension-Programmierung via PN.

  3. #3
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Ort
    Fläsch
    Beiträge
    248

    Daumen hoch

    Okey danke für den Hinweis, das mit dem BYPASS_TOKEN_CHECK kannt ich nicht. Ich habs jetzt bei mir so implementiert:
    PHP-Code:
    if( (
         
    $_SESSION['SHOUTBOX_BYPASS'] === true
         
    ||
         (
            
    is_array($_SESSION['REQUEST_TOKEN']['BE']) && 
            
    in_array($_POST['REQUEST_TOKEN'], $_SESSION['REQUEST_TOKEN']['BE'])
         ) 
         || 
         
    $_SESSION['REQUEST_TOKEN']['BE'] == $_POST['REQUEST_TOKEN']
        )
      ) {
        
    $_SESSION['SHOUTBOX_BYPASS'] = true;
        
    define('BYPASS_TOKEN_CHECK'true);

    Auf der Clientseite musste ich eigentlich nichts ändern. Also der Ajax-Request ist immernoch mit jQuery und verwendet kein Token.
    http://www.ideadapt.net - where ideas become code

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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