IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Protection du hot linking par referrer sur un forum PHPBB qui ne marche pas


Sujet :

Apache

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Protection du hot linking par referrer sur un forum PHPBB qui ne marche pas
    Bonjour à tous,

    Je dispose d'une site (www.monsite.fr) et d'un forum phpBB (www.monsite.fr/forum) et je souhaite que toute personne qui ne vient pas de mon site et tente d'accéder directement au forum soit d'abord obligé de passer par la home du site. J'ai donc mis un fichier htaccess à la racine du forum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Options +FollowSymLinks
        Options +Indexes
        RewriteEngine On
        RewriteBase /
        RewriteCond %{HTTP_REFERER} !^http://www\.monsite\.fr/(.*) [NC]
        RewriteRule ^ http://www.monsite.fr [R=301,L]


    Tout visiteur que ne vient pas de mon domaine lorsqu'il tente d'accéder au forum est redirigé sur la home. A partir de là, il peut cliquer sur le bouton "forum", y accéder, et parcourir le forum sans problème. S'il poste un message, il arrive de façon normale sur une page qui indique que le message a été posté et propose deux liens : voir le message envoyé, ou retourner au dernier forum visité. Si on clique sur un des liens, tout va bien. Par contre, si on ne fait rien, on est normalement redirigé vers le message qu'on vient de poster. Et c'est là que ça coince : au lieu de ça, on est redirigé vers une page du site qui indique : "Désolé, aucun article ne correspond à vos critères."

    Qu'est-ce qui ne marche pas dans mon code ? Y a-t-il un bug spécifique au forum ?

    Merci par avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Juste pour confirmation : quand tu supprimes ce .htaccess, la redirection se déroule correctement ?

    Le problème se pose pour tous les navigateurs ou juste un seul ? Toute les configuration de proxy ou une seule ?

    Quand tu dis que tu es redirigé vers une page qui affiche "Désolé, aucun article ne correspond à vos critères.", quelle est l'URL affichée par le navigateur ? C'est celle de discussion qui devrait bien s'afficher ou une autre ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Juste pour confirmation : quand tu supprimes ce .htaccess, la redirection se déroule correctement ?
    Si tu veux dire par là qu'une fois le message posté, on est automatiquement redirigé vers la topic concerné (ce qui est tout à fait normal), la réponse est oui.

    Le problème se pose pour tous les navigateurs ou juste un seul ? Toute les configuration de proxy ou une seule ?
    Oui pour les proxy. Concernant les navigateurs, ça bugge avec Firefox et IE, mais ça fonctionne avec Safari.

    Quand tu dis que tu es redirigé vers une page qui affiche "Désolé, aucun article ne correspond à vos critères.", quelle est l'URL affichée par le navigateur ? C'est celle de discussion qui devrait bien s'afficher ou une autre ?
    L'URL quand ça marche normalement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.fr/forum/viewtopic.php?f=5&t=891&p=16282#p16282
    ... quand ça renvoie sur le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.monsite.fr/?f=5&t=891&p=16282#p16282
    Il y manque donc ceci : forum/viewtopic.php

    Bizarre bizarre...

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    A vu de nez c'est parce que le dernier RewriteRule est activé (RewriteRule ^ http://www.monsite.fr [R=301,L]) qu'il manque forum/viewtopic.php, donc que le referrer est manquant. Vu que ça plante avec Firefox, peux-tu installer une extension du style LiveHTTPHeaders pour capturer les en-têtes HTTP échangés entre FF et le serveur au moment du plantage ? C'est pour voir si à un moment donné il n'y aurait pas justement un Referer qui manquerait ou qui n'aurait pas la bonne valeur.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Voici ce que j'obtiens avec LiveHTTPHeaders, a partir du moemnt ou je clique pour poster le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    http://www.monsite.fr/forum/posting.php?mode=quote&f=5&sid=7ee73ab5f70b271cea42d6a9b5ba0f76&t=891&p=16041
     
    POST /forum/posting.php?mode=quote&f=5&sid=7ee73ab5f70b271cea42d6a9b5ba0f76&t=891&p=16041 HTTP/1.1
    Host: www.monsite.fr
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.monsite.fr/forum/posting.php?mode=quote&f=5&p=16041
    Cookie: phpbb3_rfqff_k=f4cb19a48240a856; __utma=74797526.1293705064473930800.1237770319.1242253964.1242256090.374; __utmz=74797526.1242237293.371.12.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=beltrami%20electric%20mist; style_cookie=printonly; wordpress_84dc6a5cb5c32b81b47842c3f0a570ee=admin%7C1242991109%7C3f049589448d30d69a5f9b2d9df3994e; phpbb3_rfqff_u=53; phpbb3_rfqff_sid=7ee73ab5f70b271cea42d6a9b5ba0f76; __utmb=74797526.17.10.1242256090; PHPSESSID=764fb8fe6d18314d4361bc146822beac; __utmc=74797526
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 258
    icon=0&subject=Re%3A+TEST&addbbcode20=100&message=%5Bquote%3D%22Hellboy%22%5Dswgvsgsghsgs%5B%2Fquote%5D%0D%0A&topic_cur_post_id=16344&lastclick=1242256447&post=Envoyer&attach_sig=on&creation_time=1242256447&form_token=c4b97ff56360d44c650ddf5461239a01b399bb6b
    HTTP/1.x 200 OK
    Date: Wed, 13 May 2009 23:14:12 GMT
    Server: Apache/2.2.X (OVH)
    X-Powered-By: PHP/4.4.9
    Cache-Control: private, no-cache="set-cookie"
    Expires: 0
    Pragma: no-cache
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 3240
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: text/html; charset=UTF-8
     
    ----------------------------------------------------------
     
    http://www.monsite.fr/forum/viewtopic.php?f=5&t=891&p=16345#p16345
     
    GET /forum/viewtopic.php?f=5&t=891&p=16345 HTTP/1.1
    Host: www.monsite.fr
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Cookie: phpbb3_rfqff_k=f4cb19a48240a856; __utma=74797526.1293705064473930800.1237770319.1242253964.1242256090.374; __utmz=74797526.1242237293.371.12.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=beltrami%20electric%20mist; style_cookie=printonly; wordpress_84dc6a5cb5c32b81b47842c3f0a570ee=admin%7C1242991109%7C3f049589448d30d69a5f9b2d9df3994e; phpbb3_rfqff_u=53; phpbb3_rfqff_sid=7ee73ab5f70b271cea42d6a9b5ba0f76; __utmb=74797526.18.10.1242256090; PHPSESSID=764fb8fe6d18314d4361bc146822beac; __utmc=74797526
     
    HTTP/1.x 301 Moved Permanently
    Date: Wed, 13 May 2009 23:14:16 GMT
    Server: Apache/2.2.X (OVH)
    Location: http://www.monsite.fr?f=5&t=891&p=16345
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 220
    Keep-Alive: timeout=5, max=99
    Connection: Keep-Alive
    Content-Type: text/html; charset=iso-8859-1
     
    ----------------------------------------------------------
     
    http://www.monsite.fr/?f=5&t=891&p=16345#p16345
     
    GET /?f=5&t=891&p=16345 HTTP/1.1
    Host: www.monsite.fr
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Cookie: phpbb3_rfqff_k=f4cb19a48240a856; __utma=74797526.1293705064473930800.1237770319.1242253964.1242256090.374; __utmz=74797526.1242237293.371.12.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=beltrami%20electric%20mist; style_cookie=printonly; wordpress_84dc6a5cb5c32b81b47842c3f0a570ee=admin%7C1242991109%7C3f049589448d30d69a5f9b2d9df3994e; phpbb3_rfqff_u=53; phpbb3_rfqff_sid=7ee73ab5f70b271cea42d6a9b5ba0f76; __utmb=74797526.18.10.1242256090; PHPSESSID=764fb8fe6d18314d4361bc146822beac; __utmc=74797526
     
    HTTP/1.x 200 OK
    Date: Wed, 13 May 2009 23:14:16 GMT
    Server: Apache/2.2.X (OVH)
    X-Powered-By: PHP/4.4.9
    X-Pingback: http://www.monsite.fr/xmlrpc.php
    Expires: Wed, 11 Jan 1984 05:00:00 GMT
    Cache-Control: no-cache, must-revalidate, max-age=0
    Pragma: no-cache
    Last-Modified: Wed, 13 May 2009 23:14:17 GMT
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 7075
    Keep-Alive: timeout=5, max=98
    Connection: Keep-Alive
    Content-Type: text/html; charset=UTF-8
    1) Le message est posté
    2) Je suis redirigé sur la page qui me propose de voir le message envoyé ou de retourner au dernier forum visité. Si je clique sur un des deux, tout marche. Si je ne fais rien :
    3) Je suis redirigé sur la home du site.

    _Mac_, tu vois quelque chose qui te parle, dans tout ça ?

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    On voit que sur le second GET sur /forum/viewtopic.php?f=5&t=891&p=16345, juste après le POST, il n'y a pas de referrer : c'est ça le problème. Visiblement c'est parce que le GET est issu d'un appel JavaScript. Il y a peut-être à revoir ce code JavaScript mais j'ai des doutes.

    Au fait, évite absolument de faire une redirection permanente 301, fait une redirection temporaire 302 ([R=302,L] dans la RewriteRule), car si des personnes passent par un proxy et qu'il y a redirection pour l'un d'entre eux, tous les autres utilisateurs derrière lui seront redirigés sur la page d'accueil alors qu'ils ne devraient pas.

Discussions similaires

  1. Recherche par pseudo sur le forum depuis nouvelle version
    Par kabkab dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 02/04/2014, 15h10
  2. Protection d'un logiciel par enregistrement sur serveur
    Par sbadecoder dans le forum Web & réseau
    Réponses: 3
    Dernier message: 13/10/2007, 00h58
  3. DATEDIFF() qui ne marche pas sur une version 5.0.xx
    Par vallica dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/05/2006, 18h44
  4. Réponses: 3
    Dernier message: 08/09/2003, 16h06
  5. Réponses: 9
    Dernier message: 07/05/2003, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo