web-dev-qa-db-fra.com

Utilisation de checkToken () pour sécuriser les articles de formulaire

Je construis une application Web en utilisant le modèle Jooma Framework et le Framework App . GetFormToken () fonctionne de la manière décrite dans cet article et je soumets maintenant le jeton avec mon formulaire, mais je ne parviens pas à utiliser checkToken (). C'est le code que j'ai jusqu'ici pour configurer la session et obtenir le jeton:

$session = Session::getInstance('none', $options);
$session->initialise($this->app->input);
$session->start();
$this->app->setSession($session);
$token = $this->app->getFormToken();

Le problème est que, à chaque chargement de page, $ token est une nouvelle valeur qui provoque l’échec de checkToken () et la fermeture de l’application. Je peux voir que le session.token est correctement défini dans ma variable $ _SESSION lorsque la page suivante commence à se charger, mais lorsque j'ai appelé getInstance pour obtenir la session, la première chose qu'il fait est d'appeler session_unset () et session_destroy (), ce qui efface la session. jeton.

Alors, comment puis-je accéder à la session sans la nettoyer à chaque fois? Existe-t-il un autre moyen de vérifier le jeton de formulaire créé lors du chargement d'une page précédente?

Merci beaucoup,

6
Joe P

Je suppose que le code

$session = Session::getInstance('none', $options);

crée une nouvelle instance.

Mais ce dont vous avez besoin est d’obtenir la session active, essayez d’utiliser

$session =& JFactory::getSession();

Je n'ai pas essayé mais je sais. S'il vous plaît laissez-moi savoir les résultats.

Merci

1
Sasi varna kumar