Interdire le cache d'une image pour les navigateurs


STFprod
WRInaute impliqué
WRInaute impliqué
 
Messages: 627
Inscription: 14 Jan 2004

Interdire le cache d'une image pour les navigateurs

Message le Ven Sep 02, 2005 14:24

Salut,

j'ai une petite question d'ordre technique.

Je voudrais qu'une image ne soit pas gardée en cache par le navigateur plus de X minutes.

J'ai déjà essayé avec plusieurs header(), mais rien n'y fait, je crée des images à la volée en php, et ca ressort du png, mais certains visiteurs me disent que leur image ne se met pas à jour...

Quelqu'un a-t-il la solution ?


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Ven Sep 02, 2005 14:48

non, ie n en fais qu'à sa tete :-( t as beau lui dire de pas retenir, il retient qd meme...


STFprod
WRInaute impliqué
WRInaute impliqué
 
Messages: 627
Inscription: 14 Jan 2004

Message le Ven Sep 02, 2005 15:01

ah... c'est ce que je redoutais... Va falloir faire avec alors... :-)

merci


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Ven Sep 02, 2005 15:08

Y a t il un moyen pour que nos fichié de site Web ne se retrouve pas dans le repertoire Tempory Internet Files.

nodom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 316
Inscription: 15 Jan 2005

Message le Ven Sep 02, 2005 15:13

il y'a un instruction php (header) qui permet de ne pas garder en cach toute la page.

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Ven Sep 02, 2005 15:14

Borower : Non, vu que le navigateur doit les télécharger pour pouvoir les afficher

STFProd : il existe une solution en php.

[mode solution dégueulasse ON]
rajoute un paramètre GET aléatoire à la fin du nom de ton image, un date('U') fera l'affaire (voir aussi: microtime, etc)
Exemple: graph.jpg deviendra graph.jpg?graph=465798465
le browser pense que c'est une nouvelle image et la retélécharge.
[/mode solution dégueulasse OFF]


STFprod
WRInaute impliqué
WRInaute impliqué
 
Messages: 627
Inscription: 14 Jan 2004

Message le Ven Sep 02, 2005 15:17

Code: Tout sélectionner
header("Expires: " . gmdate("D, d M Y") . " 23:59:59 GMT");             // Date du passé
header("Last-Modified: " . gmdate("D, d M Y") . " 00:00:01 GMT"); // toujours modifié
header("Cache-Control: no-cache, must-revalidate");           // HTTP/1.1
header("Pragma: no-cache");                                   // HTTP/1.0
header("Content-type: image/png");


Voilà ce que j'ai mis, mais ca ne semble pas suffisant...


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Ven Sep 02, 2005 16:06

Merci Didier_S
Cela m'est bien embettant.
Derniere petite question j'ai pu remarqué que sur certain site en voulant enregistré la source de la page
Exemple sous IE Fichier/Enregistrer Sous l'enregistrement ne peux s'effectuer.
Avez vous une idée de comment faire cela.

Merci de vos reponce.

nodom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 316
Inscription: 15 Jan 2005

Message le Ven Sep 02, 2005 16:20

certainnement avec des script java. j'ai vu un site qui affiche une source vide aussi. mais dès qu'on désactive java, le tout est accessible. si votre souci est la protection alors il n'y'a pas de solution mircale. par contre la question de gestion du cache pour actualisation de la page. j'avais ce problème avec un formulaire que lorsque je réaffiche il ne s'actualise pas j'ai donc résolu le problème avec php header comme à peu près mentionné ci-dessous.


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Message le Ven Sep 02, 2005 17:43

j'ai déja eu cet hottible expérience avec IE :p quand j'ai voulu réaliser un script pour proteger les images contre la copie ...
et j'y suis enfin parvenu à prévenir le cache IE :D
voici le bout de code à utiliser
Code: Tout sélectionner
header("Content-type: image/jpeg");
$expires = 0;
$exp_gmt = gmdate("D, d M Y H:i:s",time()-1000+$expires)." GMT";
$mod_gmt = gmdate("D, d M Y H:i:s",time()-1000)." GMT";

header("Expires: -1");
header("Last-Modified: {$mod_gmt}");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public, max-age={$expires}");
// HTTP/1.0
header("Pragma: no-cache");


et si tu voeux qu'un document html ne soit pas mis en cache, il faut utiliser ce meme code tout au début ET ajouter les meta tags anti-cache standard APRES la balise </body>

héé oui y'a des choses comme ça chez krosoft ;) ... et pour les trouver ... faut y aller

tien moi au courant si ça marche pour toi


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Ven Sep 02, 2005 18:01

Merci bien aladdin
J'aimerais bien que cela marche je vais regarder ce soir.
Sinon je sais qu'il y a un site ou tu ne peux pas sauvegarder la page c'est le site de google.
Le blogger.
Avez vous une idée de comment il font ?

nodom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 316
Inscription: 15 Jan 2005

Message le Ven Sep 02, 2005 18:54

on ne peut jamais protéger une image contre la copie à moins qu'on l'affiche pas. :lol:


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Message le Ven Sep 02, 2005 22:05

@Borower : google utilise du javascript, en utilisant les plugin webdevelopper et "view rendered source" de firefox tu peut voir le code ;)

nodom a écrit:on ne peut jamais protéger une image contre la copie à
moins qu'on l'affiche pas. :lol:


si si on peut ... mais pas contre le screenshot ...
ata je vais réactiver la protection sur une gallerie et tu peut aller essayer de récup les images ;)

je ne dis pas que c'est totalement impossible mais très difficile

voici le lien http://www.oujdacity.net/oujda-photos-fr.html

je laisserai cette gallerie protegé un ou deux jours ;)

nodom
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 316
Inscription: 15 Jan 2005

Message le Sam Sep 03, 2005 10:40

j'ai vu apparament .haccess. mais si j'utilise mon appreil photo ou copie écran... je voudrais que tout ce qui exposé est copiable.


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Message le Sam Sep 03, 2005 12:32

ce n'est pas une protection .htaccess, c'est du pure php.

avec la copie d'écran on peut prendre les photos mais avec une moin bonne qualité ... sinon pour l'appareil photo ... j'ai un petit doute ;) : t'a déja essayer de voir à quoi ressemble un écran d'ordinateur sur une photo ?? :D

Interdire le cache d'une image pour les navigateurs

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

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités