Limiter l'accès à un site...

Petit nouveau ! | 2 Messages

20 avr. 2007, 16:07

Bonjour à tous!
Je suis débutant en PHP, et je voudrais limiter l'accès à un site web (via un mot de passe), mais seulement depuis un seul ordinateur.
Voici le code que j 'ai inséré dans ma page HTML, mais ça ne marche pas vraiment (le site s'affiche sans aucun problème ^^) et je ne sais pas comment demander d'entrer un mot de passe...est-ce que c'est possible en passant par les formulaires?
<body>
<?php

if ($_SERVER["REMOTE_ADDR"] == 'adresse IP')
{
die('Accès refusé');
}

?>
</body>
Si quelqu'un pouvait m'aider, ce serait vraiment sympa, merci d'avance :)

rgz
Eléphanteau du PHP | 16 Messages

20 avr. 2007, 16:18

Bonjour,
essaye déjà avec !== et non == :wink: ca devrait marcher normalement.

Code : Tout sélectionner

<body> <?php if ($_SERVER["REMOTE_ADDR"] != '192.168.1.2') { die('Accès refusé'); } ?> </body>
Sinon, dans la conf de apache, tu peux définir depuis quel ip tu peux accéder au serveur :

Code : Tout sélectionner

# # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the <VirtualHost> # directive. # #Listen 3000 #Listen 12.34.56.78:80 #Listen 127.0.0.1:80
il suffit donc de rajouter Listen 192.168.1.2:80 (par exemple)

Bonne continuation
alcy.fr
informatique.alcy.fr
intraccess.fr

Invité
Invité n'ayant pas de compte PHPfrance

20 avr. 2007, 17:40

Ca marche impec, merci beaucoup (c'est fou ce qu'on peut faire des erreurs bêtes des fois :oops: )

Et si je veux changer mon interdiction en accès limité (avec mot de passe), est - ce que ce code est le bon (ça a pas l'air de marcher...):
<body>
<?php

if ($_SERVER["REMOTE_ADDR"] != 'adresse IP')
{

if (isset($_POST['mot_de_passe']))
{
$mot_de_passe = $_POST['mot_de_passe'];
}
else
{
$mot_de_passe = "";
}


if ($mot_de_passe == "toto")
{


}

?>

<p>
<form action="protection.php" method="post">
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</body>

Eléphant du PHP | 135 Messages

20 avr. 2007, 18:16

Juste une question, tu veux seulement protéger le site des regardes indiscret?

Si tel est le cas, pourquoi ne pas utiliser le couple htaccess/htpasswd pour la limitation d'accès et le mot de passe ?

http://www.phpfrance.com/tutoriaux/inde ... repertoire

(si j'ai bien compris ;))

Petit nouveau ! | 2 Messages

20 avr. 2007, 18:51

En fait, je voudrais restreindre seulement une seule IP par rapport à l'accès sur mon site :)
Je ne pense pas que les .htpasswd soient une bonne solution, à moins qu'on puisse autoriser tout le monde sauf une adresse en particulier?
Et finalement, le code des 1 et 2 postes ne marche pas: ils interdisent l'accès quelque soit la machine...quelqu'un y voit une erreur? :?

Eléphant du PHP | 135 Messages

20 avr. 2007, 19:38

le htaccess me semble être la meilleur solution

tu mets ceci dans un fichier .htaccess qui doit se trouver dans le repertoire que tu veux protéger.

Code : Tout sélectionner

Order Allow,Deny Allow from 192.168.1.2 Deny from all
tu as pas mal d'information sur le site suivant:

http://www.securiteinfo.com/conseils/htaccess.shtml