как убрать угрозу безопасности из-за кэшированной версии страницы - PullRequest
0 голосов
/ 14 ноября 2010

см. Ссылку

почему значение переменной сеанса остается даже после всего кода уничтожения?

в приведенном выше примере проблема заключается в том, что созданная мной функция входа не работает, так как браузер отображает кэшированную версию страницы, что также НЕ Я ЗНАЮ, ПОЧЕМУ способен выполнять все функции в течение определенного периода времени после который он понимает, что его кэшируется !!

так

как удалить кэшированную версию сайта,

OR

как сказать НЕ ДЕЛАЙТЕ МОЮ КОПИЮ В КЭШЕ !!!

с помощью c #

Ответы [ 4 ]

2 голосов
/ 14 ноября 2010

Самое большее, что вы можете сделать, это добавить мета-тег expires на страницы, которые вы не хотите, чтобы браузер кэшировал

<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="No-Cache, No-Store">

Или поочередно в ASP.NET после добавления тега Page

<%@ OutputCache Duration="0" Location="none" NoStore="true" %>

В коде для C #

Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.Now);
Response.Cache.SetCacheability(HttpCacheability.NoCache);

Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/06bh14hk(v=VS.100).aspx

Более подробная статья здесь http://www.mnot.net/cache_docs/

РЕДАКТИРОВАТЬ: Обновлено после комментариев отAlxandr

1 голос
/ 14 ноября 2010

Похоже, вы обеспокоены кэшированной версией страницы на стороне клиента.Если это правда, у вас есть два основных способа решения этой проблемы.Вы можете добавить атрибут no-cache в заголовок HTTP или в теги META страницы.Подход HTTP Header - это рекомендуемый подход .

Подход META Tag

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">

Подход HTTP Header

Cache-Control: max-age=3600, must-revalidate

My цитируетсяссылка даст вам множество информации о заголовках HTTP и заголовках META.Я рекомендую вам прочитать его, чтобы понять параметры, а также увидеть примеры реализации на разных языках и HTTP-серверах.

0 голосов
/ 15 ноября 2010

Кеширование пончиков и только на стороне сервера решит эту проблему.В лунке (пончик центр) вы подтверждаете логин пользователя.если он недействителен, выполните перенаправление 301 на страницу входа.

0 голосов
/ 14 ноября 2010

Браузер будет делать копии этого в кеше.Крики об этом не заставят его уйти.Это не должно быть угрозой безопасности, если вы не делаете глупостей в другом месте.Даже если у вас есть проблемы с безопасностью, мешающие кешу делать копии, это не решит проблему.

Итак: вы можете запретить кеширование браузера, но это НЕ то, что вы хотите.Браузер по-прежнему сохраняет копию веб-страницы на жестком диске, но не пытается ее отобразить.Ничто из этого не является проблемой безопасности.

...