...

Version 2.3 pour Thème Core

Démarré par maximus23, 28 Mars 2016 à 12:16:39

« précédent - suivant »

alexetgus

Citation de: alexetgus le 02 Mai 2017 à 13:18:52
C'est un problème de SSL, tu vas rencontrer le même problème.

J'avais déjà eu le souci il y a quelques années, à la naissance de mon site.
Pour les images affichées en HTTPS, il n'y a pas de problème, le referrer est transmis et l'anti hotlink fonctionne.
Par contre, pour les image en HTTP, ça ne va plus si le site utilise SSL ! >:(

Fais l'essai si tu veux. Edite mes posts et passe les images en HTTPS. ;)

Du coup, il va falloir que je fasse un truc Apache ou PHP pour que les images non SSL ne soient plus servies.
Et toi aussi, tu vas être obligé de faire pareil si tu ne veux pas de hotlinking.


EDIT
J'avais pas vu que je pouvais éditer mes vieux posts.  Je pensais que c'était trop tard. :-[

Tu as vu ? Si je passe les images en HTTPS, l'anti hotlink fonctionne !
Grosse prise de tête en perspective ! Il va falloir que je bascule mon site en SSL, je ne peux plus donner le choix entre SSL et pas SSL.
De toute façon, j'ai basculé toutes les images et les jeux flash en HTTPS il y a quelques jours, et ça n'a pas l'air de poser de problèmes.
Tout le monde semble afficher correctement les images SSL, sinon j'aurais eu des nouvelles. C'est bien connu, quand tout va bien, personne ne dit rien, mais si il y le moindre problème, là ça râle. ;D

Par contre, si quelqu'un veut faire du hotlink, il a juste à afficher les images en HTTP...
Pour l'instant ! La solution est en route ! :P




Je viens de faire l'essai avec ton site et tu as bien exactement le même problème.

Si quelqu'un te prend le lien d'une image, il a deux solutions.
Si l'image est affichée en HTTPS, pas de souci, l'anti hotlink fonctionne.
Si l'image est affichée en HTTP, l'anti hotlink ne marche plus et l'image s'affiche...


EDIT
Voilà ce que ça donne avec la même image, et c'est très énervant ! ::)
Cette image est simplement demandée en HTTP, puis la demande est faite en HTTPS.



maximus23

Bonjour,

Dans toutes les solutions je n'en trouve qu'au niveau d'apache en bloquant le répertoire pour le port 80 ou en bloquant carrément le port 80 si le site est entièrement sécurisé. Mais là tout se passe au niveau du vhost.

Il doit quand même exister quelque chose de plus simple à faire pour les utilisateurs mais je ne vois rien pour le moment.

Si quelqu'un a des pistes alors pas de soucis de les noter.

:)
Amitiés et à Bientôt.
Have a Nice Day.

alexetgus

Bloquer le port 80, c'est hard !
Dans ce style, tu as aussi la directive Apache
Code
SSLRequireSSL

Mais attention ! Tous ceux qui entrent l'adresse du site en HTTP n'ont pas de redirection vers SSL.
Sans parler des robots comme Google qui testent régulièrement le port 80.

Ce souci est bordélique, et personne ne semble avoir la réponse... :(

alexetgus

04 Mai 2017 à 20:06:58 #18 Dernière édition: 04 Mai 2017 à 20:09:04 par alexetgus »
Quelques pistes que tu peux vérifier, ça a peut-être changé depuis Apache 2.2...

- Est-ce qu'une redirection 301 ou 302 vers le SSL pour les images laisse le referrer dans son état d'origine ?
Si oui, le problème est réglé, il suffit de rediriger les images non SSL.

- Est-ce HTTP_HOST prend la valeur de l'adresse de l'image ou celle du site d'origine ?

- Est-ce qu'un header "Access-Control-Allow-Origin" pour les images peut régler le souci ?


Je repasserai, j'ai la tête dans mes vieux fichiers de l'époque, j'approche de l'année 1889, je ne savais pas que j'avais tout ça. :P
Je creuse, je creuse, je te tiens au courant. Tiens ?!! J'entends parler chinois !!! :o


maximus23

Bonjour,

J'ai essayé pas mal de méthode en faisant des blocages donc à la place d'une belle image de hotlinking il n'ont plus qu'une belle croix comme si l'image n'existait plus.

Sinon une méthode parmi d'autre en htacces :

En forçant un répertoire en mode sécure

Code
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/checkout/?.*$
RewriteRule ^(.*)$ http://mydomain.com/$1 [R=301,L]


Le
Code
RewriteCond %{HTTPS}
peut permettre pas mal de choses ainsi que le blocage par le port 80

Code
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


Des pistes à suivre.

:)


Amitiés et à Bientôt.
Have a Nice Day.

alexetgus

Je vais essayer de me re-pencher sur le problème ce week-end.
A l'époque, je n'avais rien trouvé de satisfaisant, hormis le blocage pur et dur comme tu l'évoques.

Mais bon, on va voir, il doit bien exister une méthode moins brutale. :-\