Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Обновить кэшированые рисунки
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1] 

> Описание: как?
awep
Отправлено: 07 Апреля, 2007 - 11:40:27
Post Id



Наш человек


Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005  
Откуда: Казань

Карма 6




На сайте имеется система защиты от ботов, алгоритм использован от старого ExBB, то есть просто генерируется случайное число, заносится в сессионные данные, потом скрипт выдергивает это число и по одной картинке выводит числа, которые хранятся в отдельных файлах.

Но столкнулся с проблемой: картинки кэшируются! пользователь вводит числа с кэшированных картинок и ему выдается ошибка.

Как на JavaScript реализвать "принудительное" обновление картинок? или можно это сделать каким-либо другим способом?
captcha не предлагать. что-то другое - пожалуйста.
 
 Top
yura3d
Отправлено: 19 Июля, 2007 - 15:58:47
Post Id


Super Member


Покинул форум
Сообщений всего: 624
Дата рег-ции: Июль 2007  
Откуда: Минск, Беларусь

Карма 17




aweb
Не знаю каким образом ты хотел это реализовать на JavaScript. Я предложу немного другой вариант. Браузер кэширует рисунки потому что у них всегда одинаковый URL. Чтобы избавиться от кэширования нужно просто неявно изменять URL, например добавлять в конец запроса в урле случайно сгенерированное число. Сделать это несложно.

Открываеш файл templates/скин/agreed.tpl и в самое начало сразу после <? вставляешь код:

CODE:
$rand = mt_rand(100000, 999999);


Потом в этом же файле ищешь код:

CODE:
<img src='regimage.php?$exbb[sesid]&i=1' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=2' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=3' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=4' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=5' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=6' border='0' alt='PersCode'>&nbsp;


И заменяешь его на:

CODE:
<img src='regimage.php?$exbb[sesid]&i=1&rand=$rand' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=2&rand=$rand' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=3&rand=$rand' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=4&rand=$rand' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=5&rand=$rand' border='0' alt='PersCode'>&nbsp;
<img src='regimage.php?$exbb[sesid]&i=6&rand=$rand' border='0' alt='PersCode'>&nbsp;


Ну вот и всё. Больше кэширования не будет. Проверил, работает как надо.

(Отредактировано автором: 19 Июля, 2007 - 16:14:49)

 
 Top
Леголегс Администратор
Отправлено: 20 Июля, 2007 - 04:06:37
Post Id



JS-маньяк


Покинул форум
Сообщений всего: 2109
Дата рег-ции: Июль 2004  
Откуда: Липецк

Карма 17




yura3d пишет:
например добавлять в конец запроса в урле случайно сгенерированное число.
Дурной метод. Правильнее использовать заголовки http:
CODE:
Cache-Control: no-cache
Expires: Mon, 1 Jan 1980 0:00:00 GMT
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« JavaScript »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.029]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33