Aller au contenu

Limitation d'un domaine par IP


Sujets conseillés

Je suis en train de préparer la nouvelle version d'un site, que j'ai uploadé sur test.monsite.com

J'ai mis une limitation par IP, pour que seuls les employés de mon entreprise puissent y accéder le temps des tests.

Quand le site sera validé, je ferai pointer le domaine vers ce nouveau répertoire.

Je voulais savoir s'il était possible d'associer la limitation d'accès (un simple deny from all, allow from xxx.xxx.xxx.xxx) à un sous-domaine spécifique dans le .htaccess, pour éviter une catastrophe si jamais j'oublie de supprimer la limitation d'accès le jour de la validation ?

Lien vers le commentaire
Partager sur d’autres sites

si tu a un accès au fichiers de config APACHE, dans les sites-available, tu peut définir dans ton <VirtualHost test.tonsite.com:80> un Deny from all, allow from xxx.xxx.xxx.xxx etc.

ainsi, si il quitte le répertoire test, le deny n'est pas pris en compte :)

exemple:



<VirtualHost *:80>
ServerAdmin postmaster_AT_tonsite.com
DocumentRoot "/var/test/"
ServerName test.tonsite.com
ServerAlias test.tonsite.com
<Directory />
Options FollowSymLinks
AllowOverride Options
</Directory>
<Directory /var/test/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
deny from all
allow from xxx.xxx.xxx.xxx
RewriteEngine on
</Directory>
</VirtualHost>

Lien vers le commentaire
Partager sur d’autres sites

Non, le répertoire resterait le même justement : c'est le domaine de prod qui finira par pointer sur le répertoire de test.

Et je voudrais le faire dans la mesure du possible uniquement dans le fichier .htaccess (Les procédures d'accès au vhost sont plus longues et ça n'en vaut pas la peine).

Lien vers le commentaire
Partager sur d’autres sites

donc, si on fais via uniquement HTACCESS:

tu voudrais que, sans rien faire, lorsque le domaine est différent de test.tonsite.com, il n'exécute pas le site ?

je ne saurais te dire si c'est possible en htaccess (j'ai pensé à la RewriteCondition, mais je ne sais pas si ça existe dans le genre "DenyCondition").

sinon, tu inclut sur ton site une page "x", qui contiendrait ceci:


<?php

if($_SERVER['HTTP_HOST'] == "test.tonsite.com" && ($_SERVER['REMOTE_ADDR'] != xxx.xxx.Xxx.xxx || $_SERVER['REMOTE_ADDR'] != xxx.xxx.Xxx.xxx || $_SERVER['REMOTE_ADDR'] != xxx.xxx.Xxx.xxx || [etc etc]))
{
header('location:google.fr');
}

?>

bon évidement c'est un exemple, je penses que c'est optimisable très facilement... le script vérifie si l'HOST tapé est bien test.tonsite.com, et si oui, et que l'adresse est DIFFÉRENTE des adresses tapées, il renvoi sur le site google. (ou ta page d'erreur 403 par exemple.)

ainsi, une fois le domaine officiel (tonsite.com) utilisé, le script serait présent mais totalement inefficace :)

Après, c'est sûr que c'est très "barbare" mais bon :P

Lien vers le commentaire
Partager sur d’autres sites

Créer 2 virtualhost me semble pourtant le plus élégant, tu peux toujours jouer avec mod_setifenv... mais bon, si c'est pour te simplifier, ça en vaut encore moins la peine d'autant que virtualhost est quand même fait pour ça : sous VirtualHost, il n'y a pas grand chose pour faire ça si tu regardes bien (Location, Files, Directory ...).

Note que je suis pas une star d'apache, mais je vois pas plus simple.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...