Récurrence d'une fonction anormale

devlop78
Invité n'ayant pas de compte PHPfrance

30 mai 2010, 19:46

Bonjour,

voici une fonction :
public function CSRFNewToken($service = 0,$expire = 600) {

$id = md5(uniqid(rand(), true));

$fp = fopen('data.txt', 'a'); // pour débogage
fwrite($fp, $id . "\n");
fclose($fp);


if ($expire == 0) {
$_SESSION['iniSecure_CSRF_Token'][$service]['expire'] = 0;
} else {
$_SESSION['iniSecure_CSRF_Token'][$service]['expire'] = time() + $expire;
}
$_SESSION['iniSecure_CSRF_Token'][$service]['id'] = $id;
return $id;

}
Elle n'est pour le moment appelé qu'une seule fois dans ma page. La page index.php appel template.php (des objets) qui appelle la page du template qui elle-même lance :

var TOKEN_JS_GLOBAL = "<?php echo $template->sessions->CSRFNewToken('JS_GLOBAL'); ?>";

J'ai un énorme soucis avec ça. Si j'enlève cet appel à la méthode, aucun fichier data.txt n'est créé. Si je laisse cette ligne, 4 indentifiants uniques sont créés. Ce qui est extrêment embêtant car du coup ... plus rien ne fonctionne ...

D'où peut venir cet appel multiple ? La page n'est pourtant ouverte qu'une seule fois (puisque c'est la page du xhtml ...). A noter que TOKEN_JS_GLOBAL de javascript correspond au premier identifiant créé par php.

Merci encore, là je tombe sur un problème nouveau et très étrange, mais néanmoins forcément explicable ... ;)

devlop78
Invité n'ayant pas de compte PHPfrance

30 mai 2010, 20:10

AH AH AH la bonne blague !

C'est mon .htaccess qui me fait des crasses ! Je suis en local

Code : Tout sélectionner

Options +FollowSymlinks ErrorDocument 404 /transition.html RewriteEngine on RewriteCond %{HTTP_HOST} ^devlopnet.com$ [NC] RewriteRule ^(.*)$ http://www.devlopnet.com/$1 [R,L] RewriteRule ^(.*).html$ index.php?iDPageFromApache=$1 [QSA,L]
Je n'y connais rien. Quelqu'un a une idée ?

devlop78
Invité n'ayant pas de compte PHPfrance

30 mai 2010, 20:15

ErrorDocument 404 /transition.html

est la ligne qui triple. Je crois comprendre ... Il doit chercher des favicon ou des images qui n'existent pas et du coup il me charge ma page transition qui utilise aussi le token ^^