Всем привет, после переустановки ПО на сервере сталкнулся с такой делемой. Не срабатывает анти кеширование. Вот к примеру у нас есть капча: http://www.captcha.ru/kcaptcha.zip, тестировал и на других! Установил всё работает т.е. срабатывает антикеш: в ie5-8, firefox, Хром, Сафари А, вот в опере 9x, 10x нехочет, причём пробовал с нескольких ПК Раньше был php 5.10, сейчас 5.12 и nginx/0.7.65 Сайт на котором всё это дело крутиться находиться в локальной сети поэтому извне доступа нет. Может быть в PHP есть заветная галочка подержка оперы, которую я не поставил? вот код: Код (Text): Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT"); Header("Cache-Control: no-cache, must-revalidate"); Header("Pragma: no-cache"); header("Content-type: image/png"); Пробовал и так: Код (Text): header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); if(function_exists("imagejpeg")){ header("Content-Type: image/jpeg"); imagejpeg($img2, null, $jpeg_quality); }else if(function_exists("imagegif")){ header("Content-Type: image/gif"); imagegif($img2); }else if(function_exists("imagepng")){ header("Content-Type: image/x-png"); imagepng($img2); }
допустим адрес капчи www.site.ru/getimage.php?format=capcha добавляй в ссылку динамическую строку www.site.ru/getimage.php?format=capcha&bla=515451541 515451541 - каждый раз новый генерируй, теоретически любой браузер будет думать что это что то новое
Попробовал радикальное решение: Код (Text): <img src="kaptcha.php?rand=<?=mt_rand(1, 1000000);?>" alt="CAPTCHA" /> Результат: Результат работы в опере 9-10 - Загрузилась страница сгенерировал капча И ?rand=812055 - Нажимаю F5: генерируется новая капча и ?rand=893453 - Стоит нажать на кнопку "назад" в опере, страница переход на предедущую: А, вот здесь старая капча(не сгенерированная), а также старый ?rand=893453 - Теперь нажимаем вперёд и опять старая капча и старый ?rand=893453 - А вот стоит только нажать F5 как всё прекрстно генерируется! ---------------------------------------------------- Это результат работы только в опере!, вовсе других браузерах(см. выше), работает, новое число генерируется всегда, нажимаешь в браузере кнопку назад-вперёд всегда новая генерация. P.S. Что самое интересно раньше в опере 9-10 работало до смены ПО на серваке (см. выше) Что же за херня такая???
опера кеширует то что загружается состраницы... и поэтому при переходе назад вперед она пытается вызвать старую картинку и неполучает ответа. поэтому капча не генерируется... а когда обновляешь страницу то сценарий генирации капчи вызывается наного. и капча гененируется и отправляется браузеру следовательно старая подыхает..