Wie kann man Formulare am besten mit einem Token versehen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wie kann man Formulare am besten mit einem Token versehen?

    Hallo,
    ich habe meine Formulare mit einem Token geschützt. Ich verwende diese Funktion, um die Richtigkeit des Tokens zu prüfen:

    PHP-Code:

    public function matchFormsToken($token) {
                                
      if(
    $token == "" || $token != $_SESSION['front_forms_token']) {
      return 
    false;
      
      } else {
      
      
    $random $this->randomString();
                    
    //Build the token
                    
    $token $_SERVER['REMOTE_ADDR'] . $random;
                    
                
    $_SESSION['forms_token'] = $this->hashData($token);            
              
              
    self::$token_for_front_forms  "&front_forms_token=".$_SESSION['front_forms_token'];
                        
      return 
    true;
      
      }
      
      } 
    wenn kein Token mit der Url weitergegeben wird, erstelle ich damit ein Token:

    PHP-Code:
     if(!isset($_SESSION['front_forms_token'], $_GET['front_forms_token'])) {
        
            
                
    $random $this->randomString();
                        
                
    //Build the token
                    
                
    $token $_SERVER['REMOTE_ADDR'] . $random;
                         
                
    $_SESSION['front_forms_token'] = $this->hashData($token);

                
                
    self::$token_for_front_forms  "&front_forms_token=".$_SESSION['front_forms_token'];
             
        } 
    Nun habe ich das Problem, dass zwar von dem Aufruf des Tokens in einer contruct__ funktion bis zum Script ende, das gleiche Token beibehalten wird. Sende ich jedoch das Formular ab, wird gleich unterhalb von session_start() ein anderes Token angezeigt. Ich habe keine Idee, was schief läuft. Vielleicht kann mir ja jemand einen Tipp geben?

    wenn ich die Variable so ausgebe
    PHP-Code:

    session_start
    ();
    print(
    $_SESSION['front_forms_token']."----1-----<br />"); 
    hat diese einen anderen Wert als die durch die URL übermittelte

    bevor ich das formular abschicke habe ich in der letzten Zeile die, die in der URL übergeben habe:

    PHP-Code:
     echo $classes ->  getContentDisplay($theme_derivative$search_key);
                    print(
    $_SESSION['front_forms_token']."----6-----<br />"); 
                    
    ?>
    </html> 
    Zuletzt geändert von sanktusm; 19.05.2018, 16:59.

  • #2
    gelöst

    es lag an fehlgeladenen css dateien, bildern oder javascript dateien

    Kommentar

    Lädt...
    X