• [^] # hé hé ...

    Posté par . En réponse au journal Connexion Wifi et Facturation. Évalué à 1.

    Effectivement, je suppose que demander au client de fermer lui même sa connexion en cliquant sur deconnecter n'est pas acceptable. Et bien l'autre idée, c'est de lui demander de laisser ouverte la page d'accueil du cyber obtenue apres login pour maintenir la connexion. En effet cette page est une frame, avec le bandeau du haut qui se recharge toutes les 30 secondes, et donc qui maintient la session en vie en appelant un script PHP qui update la session avec par exmple dans la base de donnée un champ DATETIME pour la derniere activité connue (valeur NOW() ). Enfin cette page doit donc contenir les explications comme quoi le client ne doit pas la fermer pour continuer à surfer et des liens vers les principaux sites: google, linuxfr, etc ... qui déclanchent l'ouverture dans une nouvelle fenetre. Mais cela t'oblige à mettre sur le serveur un programme qui ferme les sessions ouvertes. Déjà que déclancher une modification d'une table de filtrage depuis un script PHP, je vais me faire traiter de gros gruik... Alors l'aternative simple c'est de faire un script php qui liste toutes les ip qui doivent être actives, une par ligne; c'est à dire les sessions en cours de validée. Ensuite un script crontab root recupere cette liste via wget et écrase la table de filtrage des ips. Ainsi quand un client ferme la fenetre de connexion, la session n'est plus mise à jour, l'ip n'apparait plus dans la liste générée par php pour le script shell déclanché par cron, et donc au prochain lancement l'ip n'est plus autorisé (puisque la table est écrasée) Enfin pour le décompte, le script PHP qui fournit les sessions actives doit aussi deceter le passage de actif à non actif pour arreter le compteur. Voilà, en espérant que ca t'aidera.