делемой.
Не срабатывает анти кеширование. Вот к примеру у нас есть капча:
http://www.captcha.ru/kcaptcha.zip, тестировал и на других!
Установил всё работает т.е. срабатывает антикеш: в ie5-8, firefox,
Хром, Сафари
А, вот в опере 9x, 10x нехочет, причём пробовал с нескольких ПК
Раньше был php 5.10, сейчас 5.12 и nginx/0.7.65
Сайт на котором всё это дело крутиться находиться в локальной сети
поэтому извне доступа нет.
Может быть в PHP есть заветная галочка подержка оперы, которую я не
поставил?
вот код:
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");
Пробовал и так:
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);
}
Спустя 20 минут, 36 секунд (18.03.2010 - 00:29) Nikitian написал(а):
<img src="./?<?php echo session_name()?>=<?php echo session_id()?>">
замените на
<img src="./?<?php echo session_name()?>=<?php echo session_id().'&rnd='.mt_rand(-time(),time());?>">
Спустя 10 часов, 26 минут, 54 секунды (18.03.2010 - 10:56) gloomen12 написал(а):
Попробовал радикальное решение:
Результат: Результат работы в опере 9-10
- Загрузилась страница сгенерировал капча И ?rand=812055
- Нажимаю F5: генерируется новая капча и ?rand=893453
- Стоит нажать на кнопку "назад" в опере, страница переход на предедущую:
А, вот здесь старая капча(не сгенерированная), а также старый ?rand=893453
- Теперь нажимаем вперёд и опять старая капча и старый ?rand=893453
- А вот стоит только нажать F5 как всё прекрстно генерируется!
----------------------------------------------------
Это результат работы только в опере!, вовсе других браузерах(см. выше), работает, новое число генерируется
всегда, нажимаешь в браузере кнопку назад-вперёд всегда новая генерация.
P.S. Что самое интересно раньше в опере 9-10 работало до смены ПО на серваке (см. выше)
Что же за херня такая???
<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 работало до смены ПО на серваке (см. выше)
Что же за херня такая???
Спустя 1 час, 17 минут, 22 секунды (18.03.2010 - 12:13) Nikitian написал(а):
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");
Отдавайте это и для страницы, где каптча размещена. А вообще ненавижу оперу из-за её паранои всё кэшировать.
Спустя 48 минут, 42 секунды (18.03.2010 - 13:02) gloomen12 написал(а):
Попробовал, не сработало...
Может быть проблема в nginx?
Может быть проблема в nginx?
Спустя 38 минут, 6 секунд (18.03.2010 - 13:40) Nikitian написал(а):
Может и nginx перебивает ваши хидеры своими. Посмотрите с какими заголовками вам приходит страница и сравните с заголовками, с которыми отправляется.