Salut,
Voici une solution dont je me sert pour "pister" les users et celle-ci, si adaptée,
convient tout à fait pour ce que tu cherches. Elle peut aussi, pour info, servir à connaitre
le nombre de users online ainsi que savoir s'il s'agit d'1 aspi... :
1) Te faut un ID unique,
Les sessions fournissent un ID propre et qui ne se reset à chaque deco du client
ou selon un laps de temps déterminé.
2) L'IP du visiteur,
Ca parmet juste de trouver le user, savoir si l'IP est hackée on s'en fiche.
C'est juste un repérage.
3) Une valeur/page
La c'est juste ton url-access dont tu te sert, par exemple:
/accueil/toto.php. Chaque URL ayant un nom (composé) unique
Ainsi, à chaque refresh (ou précédent) tu sauras d'ou vient le user
et pourra le re-diriger autrepart...
4) Un Timeout par page.
La, la fonction
<?php microtime(TRUE); ?>
fait l'affaire.
Tu assembles le tout, tu sauvegardes dans la $_SESSION[user] (par exemple)
et voili, voilou... Quelque test, une gestion lecture/ecriture et te voila
protégé de quelques abus.
Ta session sera, ainsi, composée de:
[...]
$_SESSION[user][ip]
$_SESSION[user][fromPage]
$_SESSION[user][lastAccess]
[...]
Et à chaque accès: soit tu crées un session, soit tu la modifies...
<?php
// Rappel: l'init session doit être avant tout autre accès au serveur
//
session_start();
[...]
if (!isset($_SESSION[user])
{
$_SESSION[user] = Array();
}
else
{
// Tes test se trouvent ici
[...]
// Resultat si vrai: OK, si faux: Redirect ou autre...
if (false) { ??? };
}
// Suite de ta page
//
[...]
?>
@+ bon code
