Site Web accessible à un réseau local

Site Web accessible à un réseau local - PHP - Programmation

Marsh Posté le 24-09-2012 à 18:57:03    

Bonjour, pour un site écrit en PHP, il serait question de vendre l'accès à une section personnalisée d'un site Web en deux versions, une monoposte et une multiposte. Pour la monoposte, on peut jouer sur l'adresse ip avec REMOTE_ADDR de $_SERVER, mais comment faire avec un réseau local et ses x ordinateurs connectés ?  
Je ne connais pas trop ce cadre et je me demande comment ils font sur les sites pour vérifier les éventuels abus...  
Merci à ceux qui s'y connaissent mieux que moi :)

Reply

Marsh Posté le 24-09-2012 à 18:57:03   

Reply

Marsh Posté le 25-09-2012 à 10:44:33    

Ben un système de nb de jetons (= nb de connexion max) par ex. Si y'a plus de jetons, plus possible de se connecter.
 
Parce que se baser sur l'IP, de nos jours :/ Entre les proxys, les extensions style IPfuck et autres, c'est pas la peine...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 25-09-2012 à 10:46:04    

C'est à dire, nombre de connexions simultanées ?

Reply

Marsh Posté le 25-09-2012 à 11:25:16    

Non, nombre de sessions actives simultanées.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 25-09-2012 à 20:47:18    

Pour le système de jetons, je pense qu'il faut gérer ça avec un stockage permanent MySQL côté serveur (+ un cookie côté client, pour une reconnexion facile).
 
Par exemple avec 2 clients max :
Le client C1 se connecte, tu lui sette un cookie et tu enregistre la connexion en base.
Le client C2 se connecte, tu lui sette un cookie et tu enregistre la connexion en base.
Le client C3 essaye de se connecter, mais après un check dans la base, le nombre max de connexion est atteint, il va se faire un café
Le client C1 ferme son navigateur sans se déconnecter
Le client C3 essaye de se connecter, mais après un check dans la base, le nombre max de connexion est atteint, il va se faire un café
Le client C1 se reconnecte
Le client C3 essaye de se connecter, mais après un check dans la base, le nombre max de connexion est atteint, il va se faire un café
Le client C1 se déconnecte, on supprime le cookie et la ligne ne base de données
Le client C3 se connecte, tu lui sette un cookie et tu enregistre la connexion en base.
 
Par contre il te faudra un liant entre ces trois clients pour comprendre qu'ils appartiennent à la même boite.  
 
Sous Windows, les ordinateurs en réseau font partie d'un même "groupe". Tu peux donc en base de données dire que les utilisateurs C1, C2 et C3 font partie du même groupe, et dire qu'une propriété "maxConnectedUsers" de ce groupe est 2.


Message édité par CyberDenix le 25-09-2012 à 20:49:31

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 26-09-2012 à 11:48:55    

Pour le stockage des sessions, t'es pas obligé de le faire en BD. Tu peux le faire sur le HDD du serveur avec le système classique de php. Par contre, tu peux créer un lien entre la session de l'utilisateur et un enregistrement en base...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed