防止使用者按上一?按?
类别: ASP教程
?????^上常有咀友??到呃????铨, 如何防止使用者按回上一??按怙, ?楹?????呃一????铨? ????通常是在防止使用者重妖?绦幸?????用程式, 例如儋料?斓男略霈 如果使用者按了回上一??, 有可能??造成重妖新增儋料, 今天呃篇文章就要介铰如何 "蓖可能" 的防止使用者按回上一??
伺服端防止快取
首先?砜纯此欧?端的方法, ASP 的 Response 物件提供了????咀??快取 (cache) 相晷的?傩袁 真明如下
?傩? 真明
CacheControl 判?啻?理伺服器 (Proxy Server) 是否快取 ASP 的??出劫果
Expires 咀??快取的逾期?r殓
ExpiresAbsolute 指定咀??快取的逾期?r殓
所以如果你要防止咀??被快取, 你可以呃?N做
<%
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
利用呃??方法, 使用者??是可以回到上一??, 但由於咀???K?]有被快取, 所以?g盂器必??重新向伺服器作 Http ??求, 也就是呃??咀????被重新整理 (Refresh)
用?舳朔乐箍烊〖br>
你也可以使用用?舳? (Client-side) 的方式,
<html>
<head>
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
</head>
和伺服端的方法?a生的劫果是一?拥默 但有???c要注意
Pragma : ??使用安全呗劫?r才使用 Pragma, 如果在非安全呗劫使用, 那?N效果和 Expires : -1 是相同的, 也就是呃??咀????是??被快取, 但??立即逾?r
meta http-equiv ?嘶`的 cache-control ?K不唔用於 Internet Explorer 4, 5 版本
移除工具列
呃??方法是在咀路上看?淼默 有?c趣味所以也介铰一下, 做法是呃?拥默 利用 window.open 方法?黹_新??窗, 然後晷掉原??窗, 但重?c是在檫??窗?r?⒐ぞ吡幸瞥?
<script language="javascript">
<!--
function openWindow(url){
newpage = window.open(url,\'newpage\',\'toolbar=no\');
newpage.focus();
self.close();
}
//-->
</script>
<a href="javascript:openWindow(\'nextpage.html\');">下一??</a>
也是一肺方法, 但????很少人??用, 有一?c麻??! ?r且按滑鼠右嫔所出?F的 Menu 中也有回上一??的啉??, 此法??防君子不防小人!
使用 location.replace
Javascript location 物件的 replace() 方法??以指定的咀址覆慎?g盂器目前?g盂?v史硷??, 也就是??你用了呃??方法, ?g盂器就??忘掉咿去曾???g盂的硷??, 就尤像你第一次檫???g盂器一?蝇 上一??的按怙是灰的
你可以呃?N做
<a href="Javascript:location.replace(\'nextpage.html\')">下一??</a>
看起?磉@大概是目前最好的方法! 不咿??是有一些缺?c, 因???K不是所有的情?r都可以套用, 譬如嘱??你使用 Response.Redirect ?r, 呃??方法就派不上用?隽恕
可以?w见出一??劫??, 就是要完全晷檩?g盂器回上一??的功能是不可能的 (目前的?g盂器), 唯一能做的是因?r因地制宜, 劫合以上的方法蓖可能的防止使用者按回上一??!
希望呃篇文章?δ阌??椭?!
伺服端防止快取
首先?砜纯此欧?端的方法, ASP 的 Response 物件提供了????咀??快取 (cache) 相晷的?傩袁 真明如下
?傩? 真明
CacheControl 判?啻?理伺服器 (Proxy Server) 是否快取 ASP 的??出劫果
Expires 咀??快取的逾期?r殓
ExpiresAbsolute 指定咀??快取的逾期?r殓
所以如果你要防止咀??被快取, 你可以呃?N做
<%
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
%>
利用呃??方法, 使用者??是可以回到上一??, 但由於咀???K?]有被快取, 所以?g盂器必??重新向伺服器作 Http ??求, 也就是呃??咀????被重新整理 (Refresh)
用?舳朔乐箍烊〖br>
你也可以使用用?舳? (Client-side) 的方式,
<html>
<head>
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
</head>
和伺服端的方法?a生的劫果是一?拥默 但有???c要注意
Pragma : ??使用安全呗劫?r才使用 Pragma, 如果在非安全呗劫使用, 那?N效果和 Expires : -1 是相同的, 也就是呃??咀????是??被快取, 但??立即逾?r
meta http-equiv ?嘶`的 cache-control ?K不唔用於 Internet Explorer 4, 5 版本
移除工具列
呃??方法是在咀路上看?淼默 有?c趣味所以也介铰一下, 做法是呃?拥默 利用 window.open 方法?黹_新??窗, 然後晷掉原??窗, 但重?c是在檫??窗?r?⒐ぞ吡幸瞥?
<script language="javascript">
<!--
function openWindow(url){
newpage = window.open(url,\'newpage\',\'toolbar=no\');
newpage.focus();
self.close();
}
//-->
</script>
<a href="javascript:openWindow(\'nextpage.html\');">下一??</a>
也是一肺方法, 但????很少人??用, 有一?c麻??! ?r且按滑鼠右嫔所出?F的 Menu 中也有回上一??的啉??, 此法??防君子不防小人!
使用 location.replace
Javascript location 物件的 replace() 方法??以指定的咀址覆慎?g盂器目前?g盂?v史硷??, 也就是??你用了呃??方法, ?g盂器就??忘掉咿去曾???g盂的硷??, 就尤像你第一次檫???g盂器一?蝇 上一??的按怙是灰的
你可以呃?N做
<a href="Javascript:location.replace(\'nextpage.html\')">下一??</a>
看起?磉@大概是目前最好的方法! 不咿??是有一些缺?c, 因???K不是所有的情?r都可以套用, 譬如嘱??你使用 Response.Redirect ?r, 呃??方法就派不上用?隽恕
可以?w见出一??劫??, 就是要完全晷檩?g盂器回上一??的功能是不可能的 (目前的?g盂器), 唯一能做的是因?r因地制宜, 劫合以上的方法蓖可能的防止使用者按回上一??!
希望呃篇文章?δ阌??椭?!
- 上一篇: COOKIE的功能与购物车
- 下一篇: 如何避免重复定义数组
-= 资 源 教 程 =-
文 章 搜 索