2010-05-11 9 views
0

Je souhaite que mon site Web soit accessible à partir de seulement deux adresses IP. chaque fois que le site est accédé par plus de 2 adresses IP, une erreur survient. tout organisme peut faire cela en php aider s'il vous plaît mePHP: autoriser uniquement deux adresses IP en même temps

vous remercie

+1

Voulez-vous dire plus de 2 adresses d'identification * simultanément *? –

+0

En fait, mon site Web doit être accessible à partir de seulement 2 adresses IP à la fois. Chaque fois que la 3e adresse IP arrive dans la question, elle affiche une erreur. lorsque l'un des 2 sites accédant actuellement à l'IP est déconnecté, seule la troisième adresse IP peut obtenir l'accès au site. – Santanu

+0

Vous voudriez configurer votre serveur Web de cette manière, si c'est ce que vous voulez vraiment, mais je risquerais de deviner que les implications seraient plus sévères que prévu –

Répondre

1

Pour limiter le nombre d'utilisateurs simultanés dont vous avez besoin une sorte de sessions stockées dans une base de données. Puis, lorsqu'un nouvel utilisateur se connecte, vérifiez s'il y a déjà deux sessions de ips différentes et dans ce cas, lancez une erreur.

Notez que vous DEVEZ que les sessions expirent rapidement si quelqu'un est inactif afin qu'il n'empêche pas quelqu'un d'autre de se connecter simplement parce qu'il ne s'est pas déconnecté.

+0

Merci pour votre réponse. mais je suis confus dans une chose que comment aurais-je expiré la session si quelqu'un est inactif? Je veux dire comment pourrais-je savoir? – Santanu

+0

Chaque fois qu'un utilisateur connecté fait quelque chose, vous stockez l'horodatage. Ensuite, vous pouvez ignorer les sessions inactives ('(time() - lastactivity)> delay') et/ou les supprimer facilement. – ThiefMaster

1

Utilisez $_SERVER['REMOTE_ADDR'] pour obtenir l'adresse de la connexion entrante et effectuer le test pour effectuer la redirection appropriée ou ce que vous avez.

1

Vous devez utiliser la variable superglobal $_SERVER['REMOTE_ADDR']: cela devrait vous donner l'adresse IP d'origine de la requête du client. Juste tester pour voir si c'est autorisé et montrer votre message d'erreur si non.

3

Essayez

if($_SERVER['REMOTE_ADDR'] != '212.100.232.111' && $_SERVER['REMOTE_ADDR'] != '212.100.232.112'){ 
die('No access'); 
} 
3

Si vous voulez limiter tous les visiteurs de certaines adresses IP, le plus facile/moyen le plus rapide serait faire dans votre serveur web, par exemple avec un .htaccess d'Apache, au lieu de le faire en PHP:

Order Deny,Allow 
Deny From All 
Allow From 1.2.3.4 
Allow From 5.6.7.8 
+0

NON Je ne dois pas restreindre tous les visiteurs à certaines adresses IP – Santanu

Questions connexes