htaccess : Interdire tout accès via l'interface

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

HardlyPHP
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 6 Déc 2009

htaccess : Interdire tout accès via l'interface

Message le Dim Déc 06, 2009 15:28

Bonjour,

je viens de créer une enquête LimeSurvey en local, sous EasyPHP.
l'URL est : C:\Program Files\EasyPHP5.3.0\www\limesurvey, dans le navigateur ça donne http://127.0.0.1/limesurvey/

Avant de mettre en ligne cette enquête, je souhaite lui appliquer une restcriction drastique : il ne faut pas qu'il soit possible d'y accéder manuellement, via l'interface web. Mon idée est d'exiger un referer fantaisiste.

Aussi, j'ai tenté de configurer le fichier C:\Program Files\EasyPHP5.3.0\www\limesurvey\.htaccess de la sorte :

## MOD_REWRITE for LimeSurvey ##
<IfModule mod_rewrite.c>
RewriteEngine On

## DONT TOUCH ANYTHING ##
# Only with survey code
# http://server.fr/123456
RewriteRule ^([0-9]+)/*$ index.php?sid=$1 [L,QSA]

# Survey code + Lang : http://server.fr/123456/lang-fr
RewriteRule ^([0-9]+)/lang-([^/]*)/*$ index.php?sid=$1&lang=$2 [L,QSA]

# Survey code + Lang + Token : http://server.fr/123456/lang-fr/tk-sdlfkjozeiru
RewriteRule ^([0-9]+)/lang-([^/]*)/tk-([^/]*)/*$ index.php?sid=$1&lang=$2&token=$3 [L,QSA]

# Survey code + Token : http://server.fr/123456/tk-sdlfkjozeiru
RewriteRule ^([0-9]+)/tk-([^/]*)/*$ index.php?sid=$1&token=$2 [L,QSA]

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^.www\.refererfantaisiste\.com*$

RewriteRule .*$ http://www.ma_page_de_redirection.com [L,R]

RewriteCond %{HTTP_USER_AGENT} MSIE
RewriteRule .* http://www.ma_page_de_redirection.com [L][/b]

</IfModule>


les deux derniers blocs en gras correspondent à un premier essai infructueux sur le referer, puis un deuxième en fonction du navigateur (IE serait rejeté si j'ai bien compris la combine)

Si je suis ici à vous poser la question, c'est que ça ne marche pas (du moins en local), l'accès à l'enquête se fait sans aucun problème et je ne comprends pas pourquoi :?:

Est-ce que vous pourriez m'aider à comprendre où ça coince, svp ?

Merci :wink:


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: htaccess : Interdire tout accès via l'interface

Message le Lun Déc 07, 2009 21:17

O REFERER local... t'arrive a mettre 2 serveurs sur ta bécane ?

HardlyPHP
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 6 Déc 2009

Re: htaccess : Interdire tout accès via l'interface

Message le Dim Déc 13, 2009 10:06

c'est bon en fait il suffisait de faire

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^http:\/\/www\.site\.com [NC]
RewriteRule ^.*$ www.pagederedirection.com [L,R]


par contre je me pose une question et j'ai trouvé aucune réponse : dans un fichier .htaccess avec la restriction ci-dessus, si le visiteur tente d'aller sur la page http://www.site.com/index.php?sid=546546, comment éviter que la redirection se fasse sur http://www.pagederedirection.com/?sid=546546 au lieu de http://www.pagederedirection.com tout court ?

Merci


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: htaccess : Interdire tout accès via l'interface

Message le Dim Déc 13, 2009 13:48

sry pour ma remarque plus haut, javais oublier qu'avec 2 machines on peut tester les referers, de mon coté je n'utilises jamais le referer, trop de serveur ne le retourne pas

pour ton probleme, il suffit de capturer le resultat (.*) sans rien retourner, $1 est vide
Code: Tout sélectionner
RewriteRule ^(.*)$ www.pagederedirection.com/ [L,R=301]

HardlyPHP
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 6 Déc 2009

Re: htaccess : Interdire tout accès via l'interface

Message le Dim Déc 13, 2009 17:44

je viens de tester comme ceci

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^http:\/\/www\.site\.com [NC]
      RewriteRule ^(.*)$ www.pagederedirection.com/ [L,R=301]


ça ne marche pas, il y a toujours ce SID qui vient parasiter l'URL de redirection :?:


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: htaccess : Interdire tout accès via l'interface

Message le Lun Déc 14, 2009 1:47

ca ne devrait pas capturer en l'abscence de motif..;

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http:\/\/www\.site\.com [NC]
RewriteRule ^.*$ http://pagederedirection.com/ [R]


essaye de voir si ca ne fonctionne pas de donner une retroréférence inexistante

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http:\/\/www\.site\.com [NC]
RewriteRule ^(.*)$ http://pagederedirection.com/$2 [R,QSA]

HardlyPHP
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 6 Déc 2009

Re: htaccess : Interdire tout accès via l'interface

Message le Lun Déc 14, 2009 18:51

je regrette mais aucune des deux propositions ne fonctionne. Tu penses néanmoins que c'est possible ?


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: htaccess : Interdire tout accès via l'interface

Message le Lun Déc 14, 2009 19:41

HardlyPHP a écrit:Tu penses néanmoins que c'est possible ?


avec Apache je ne m'avancerais pas, en langage PHP/ASP ca l'est.

HardlyPHP
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 6 Déc 2009

Re: htaccess : Interdire tout accès via l'interface

Message le Mer Déc 16, 2009 21:09

D'accord, merci pour ton aide en tout cas. Ce n'est pas un problème bien grave de toutes façons.

Si tu le permets j'aurais une dernière question : est-il à ton avis possible qu'au moment de cette redirection, un son soit produit (de type mp3 ou autre)

Merci


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: htaccess : Interdire tout accès via l'interface

Message le Mer Déc 16, 2009 23:28

non, htaccess est coté serveur.; si tu veux 1 son tu le fais après la redirection sur la page de réception.


pour revenir au .htaccess, j'ai retrouvé des redirections que j'avais fais et voici l'ecriture que j'avais employé pour rediriger 1 page sur 1 autre avec 1 test

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http:\/\/www\.site\.com [NC]
RewriteRule  $ http://pagederedirection.com/ [L,R=301]


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité