100% запрет кэширования в HTML

tulp
На сайте с 29.04.2005
Offline
77
27085

Столкнулся с проблемой

IE не реагирует на тэги (Документ статический html)

<meta HTTP-EQUIV="Expires" CONTENT="0">

<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">

<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache">

<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">

в IE при навигации по сайту кэшируется картинка капчи (по F5 обновляется)

<img src="/check/captcha/?<?php echo session_name()?>=<?php echo session_id()?>">

Хотя другие браузеры без проблем понимают.

Задача 100% НЕ кэшировать либо всю страницу, либо только графику

То что предложил MS не работает

_ttp://support.microsoft.com/kb/222064/

-
На сайте с 07.12.2005
Offline
97
-K-
#1

А если попробовать сделать картинку через mod_rewrite <img src="/captcha.jpg"> ?

tulp
На сайте с 29.04.2005
Offline
77
#2

Не совсем понимаю

генерить для картинки разные URL ?

-
На сайте с 07.12.2005
Offline
97
-K-
#3

Если на сервере есть mod_rewrite, то в .htaccess прописать

RewriteEngine on
RewriteRule ^captcha.jpg$ captcha.php

В captcha.php уже самому стартовать сессию (если идентификатор хранится в куках) то и передавать ничего не надо, генерить и отдавать картинку.

А в html получится

<img src="/captcha.jpg">
bondarev.pp.ru
На сайте с 29.09.2005
Offline
202
#4

tulp, отдавайте сриптом, геренящим капчу, такие заголовки:

header('Last-Modified: '. gmdate('D, d M Y H:i:s', time()) . ' GMT');
header('Expires: '. gmdate('D, d M Y H:i:s', time()) . ' GMT');
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
bondarevpipes.com (http://ru.bondarevpipes.com/)
tulp
На сайте с 29.04.2005
Offline
77
#5

Спасибо всем

bondarev.pp.ru именно так уже и решили

Тема закрыта

stealthy
На сайте с 15.06.2006
Offline
69
#6

Непонятно только зачем все так сложно. Браузер кроме прочего может и наплевать на заголовки сервера и сделать по своему, или прокси-сервер стоящий по пути может заголовки порезать или вообще заменить своими.

Наиболее надежное решение (требующее правда javascript включенного, но это 99.9% браузеров) - в ссылке передавать случайный параметр.

То есть ссылка должна быть вида <IMG SRC="/captcha.jpg?rnd=0.1231243541">, генерируется одной строкой яваскрипта типа

<SCRIPT>document.write("<IMG SRC=\"/captcha.jpg?rnd="+Math.random()+"\">")</SCRIPT>

Twilight CMS (http://www.twl.ru): есть Free версия, очень проста и удобна в использовании. Консультирую по любым вопросам. Новый спорт - практическая стрельба (http://nikit.in) - не для офисного планктона.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий