Htaccess : sélectionner le hotlinking autorisé ?

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Heartless, 29 Janvier 2009.

Tags:
  1. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Bonjour,

    j'ai mis en place un code dans mon htaccess :
    lorsqu'une personne accède à l'adresse directe d'une image, elle est aussitôt redirigée vers une page personnalisée contennant l'image en question.
    Le problème, c'est que ça empêche le hotlinking et je ne désire pas le supprimer totalement.
    J'aimerais en fait que l'image ne soit pas redirigée si le mot "miniatures" figure dans l'adresse, mais je ne sais pas si l'on peut faire ça en htaccess...

    Voici mon code :
    Code:
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^[http://(www]\.)?monsite\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^[http://(www]\.)?monsite\.com/.*$ [NC]
    RewriteRule ^image/(.*)\.jpg$                     /image.php?image=image/$1.jpg [QSA,R=301,L]
    Merci d 'avance à qui saura m'aider.
     
  2. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Personne n'aurait une idée, s'il vous plait ?
     
  3. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    tu dois pouvoir bloquer l'url avec une condition:

    Code:
    RewriteCond %{HTTP_REFERER} !+(miniature|peuimporte)
    (je suis pas sur pour le + dans le code)
     
  4. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Bonsoir,

    je ne veux pas bloquer l'url, je veux que si y'a "miniatures" dans l'adresse, l'image puisse être hotlinkée, mais pas si ce mot est absent.
     
  5. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    separement j'arrive a comprendre, mais les 2 reunis ca fait confus
     
  6. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Désolé, ce que je veux dire, c'est que je veux empêcher le hotlinking des images de mon site, mais pas quand ce sont les miniatures, seulement les grandes. Comme les miniatures sont enregistrées dans un dossier nommé "miniatures", à chaque fois, je me suis dit que si on pouvait mettre une condition pour êmpêcher tout hotlinking, sauf quand le mot "miniatures" est dans l'adresse de l'image, ce serait bien.

    Donc, pour résumer, je ne veux pas que mes images d'origine soient hotlinkée.
    Je veux bien que les miniatures de ces images soient hotlinkées.

    Pour info, les miniatures portent le même nom.
     
  7. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    81
    ok, le snippet que je t'ai donner devrait faire l'affaire, donne 2 urls en exemple pour ajuster le code a tes besoins

    avec et sans le mot "miniature"
     
  8. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Je dois mal m'y prendre car ça ne fonctionne pas. Je tombe sur un message d'erreur interne de serveur...

    J'ai remplacé le + par un * et c'est pareil, alors je l'ai simplement retiré.

    Voilà mon code :
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} (miniatures)
    RewriteRule ^image/(.*)\.jpg$  														/image/$1.jpg [QSA,R=301,L]
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !(miniatures)
    RewriteRule ^image/(.*)\.jpg$  														/image.php?image=image/$1.jpg [QSA,R=301,L]
     
  9. webmasterlamogere
    webmasterlamogere WRInaute passionné
    Inscrit:
    17 Décembre 2006
    Messages:
    1 647
    J'aime reçus:
    1
    Si la miniature et la grande image ont le même nom tu peux renvoyer la petite avec la réécriture si le referer est différent de ton site (il faut surement adapter les urls).
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?tonsite\.com.*$ [NC]
    RewriteRule ^image/grande/(.*)\.jpg$ /image/miniatures/$1.jpg [L]
     
  10. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Oui mais non, là tu m'as retiré le code qui redirige les grandes vers ma page personnalisée... Je ne veux pas que les gens puissent lier directement les grandes images, c'est pourquoi j'ai fait cette redirection.

    En dehors de ça, le code que tu me proposes ne fonctionne pas, je pense que c'est dû à une mauvaise adaptation, car les dossiers dans lesquels sont les images sont différents : Voilà le code que j'ai essayé d'après celui que tu m'as proposé :
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
    RewriteRule ^images/(.*)/(.*)/(.*)\.jpg$  														/images/$1/$2/miniatures/$3.jpg [QSA,R=301,L]
    ça ne fonctionne malheureusement pas.

    As-tu une idée ?
     
  11. webmasterlamogere
    webmasterlamogere WRInaute passionné
    Inscrit:
    17 Décembre 2006
    Messages:
    1 647
    J'aime reçus:
    1
    tu n'as pas besoin de faire de redirection mais juste une réécriture. Le R=301 est inutile.
    J'ai remplacé . par [^/] pour éviter de boucler.
    Sinon ce code doit fonctionner. Il va afficher la miniature quand tu hotlink la grande.
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?tonsite\.com.*$ [NC]
    RewriteRule ^images/([^/]*)/([^/]*)/([^/]*)\.jpg$ /images/$1/$2/miniatures/$3.jpg [QSA,L]
     
  12. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Ok, ça fonctionne, c'set super ! :)

    Concernant la redirection, c'est important quand même, je l'utilise afin de rediriger un visiteur sur une page personnalisée contenant l'image au lieu de le laisser afficher l'image seule lorsqu'il clique sur un lien menant directement à cette image.

    Exemple avec un lien tel que celui-ci :
    - http://www.monsite.com/img/jeu01/artworks/nom_de_l_image_01.jpg

    Au lieu d'accéder directement à l'image, je voudrais qu'il soit redirigé vers une page la contenant, comme ceci :
    - http://www.monsite.com/img.php?img=img/jeu01/artworks/nom_de_l_image_01.jpg

    Avec mon code précédent, ça fonctionnait :
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?ffshores\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?ffshores\.com/.*$ [NC]
    RewriteRule ^img/(.*)\.jpg$  														/img.php?img=img/$1.jpg [QSA,R=301,L]
    Seulement, ça entre en conflit avec le nouveau que tu m'as donné... :/

    J'ai essayé ça :
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
    RewriteCond %{HTTP_HOST} !^http://(www\.)?monsite\.com [NC]
    RewriteRule ^img/([^/]*)/([^/]*)/([^/]*)\.jpg$ /img/$1/$2/miniatures/$3.jpg [QSA,L]
    
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/.*$ [NC]
    RewriteCond %{HTTP_HOST} ^http://(www\.)?monsite\.com [NC]
    RewriteRule ^img/(.*)\.jpg$  														/img.php?img=img/$1.jpg [QSA,R=301,L]
    Mais le problème reste le même, seule la réécriture en miniature fonctionne, du coup, en arrivant en lien direct sur la grande image, c'est la miniature qui s'affiche et non pas ma page personnalisée. XD
     
  13. webmasterlamogere
    webmasterlamogere WRInaute passionné
    Inscrit:
    17 Décembre 2006
    Messages:
    1 647
    J'aime reçus:
    1
    je ne pense pas que tu puisses distinguer une image affichée sur une page et une image affichée directement.
    Si pas de critère pour distinguer, c'est la première règle qui match qui est choisie par apache.
    A toi de choisir celle que tu préfères.
     
  14. Heartless
    Heartless Nouveau WRInaute
    Inscrit:
    26 Octobre 2006
    Messages:
    35
    J'aime reçus:
    0
    Mince... Il n'y a vraiment aucune condition permettant de vérifier où se touve l'image via la barre d'adresse au moment où elle est appellée ?
     
Chargement...
Similar Threads - Htaccess sélectionner hotlinking Forum Date
Fichier .htaccess, Https et www Débuter en référencement Samedi à 13:15
Redirect 410 HTACCESS pour toutes les pages d'un répertoire URL Rewriting et .htaccess Vendredi à 19:40
Redirection 404 via le .htaccess / pb avec les liens relatifs Débuter en référencement 5 Mai 2022
WordPress Petit souci de redirection htaccess URL Rewriting et .htaccess 3 Mai 2022
htaccess vs modifications site, quelle stratégie ? Merci URL Rewriting et .htaccess 10 Mars 2022
Redirection url htaccess Développement d'un site Web ou d'une appli mobile 14 Janvier 2022
Priorité entre le serveur et le fichier Htaccess URL Rewriting et .htaccess 4 Janvier 2022
importance de l'ordre des instructions dans un fichier htaccess URL Rewriting et .htaccess 3 Janvier 2022
Variables SetEnv dans un fichier htaccess URL Rewriting et .htaccess 25 Décembre 2021
htaccess qui fonctionne partout sauf sur 1 seul PC URL Rewriting et .htaccess 28 Juillet 2021
modification fichier htaccess URL Rewriting et .htaccess 25 Juillet 2021
Protection de site web : quel code ajouter dans htaccess ? URL Rewriting et .htaccess 5 Mars 2021
Blocage d'un visiteur via le fichier .htaccess URL Rewriting et .htaccess 5 Janvier 2021
sécurité avec htaccess URL Rewriting et .htaccess 18 Décembre 2020
Récriture .htaccess (sous-domaine + répertoire) URL Rewriting et .htaccess 11 Août 2020
Le htaccess de WordPress réécrit une URL qui n'est pas censé être réécrite Administration d'un site Web 17 Juin 2020
Problème htaccess Développement d'un site Web ou d'une appli mobile 26 Mai 2020
Redirection dans .htaccess Développement d'un site Web ou d'une appli mobile 11 Mai 2020
htaccess ou noindex Netlinking, backlinks, liens et redirections 23 Janvier 2020
caractères spéciaux dans le Htaccess! Problèmes de référencement spécifiques à vos sites 17 Décembre 2019