防止使用者按上一頁按鈕

2016-01-29 19:39 2 1 收藏

防止使用者按上一頁按鈕,防止使用者按上一頁按鈕

【 tulaoshi.com - ASP 】

       推荐一篇文章
  
  防止使用者按上一頁按鈕
  
  討論區上常有網友問到這個問題, 如何防止使用者按回上一頁按鈕, 為何會問這一個問題? 應該通常是在防止使用者重複執行一個應用程式, 例如資料庫的新增, 如果使用者按了回上一頁, 有可能會造成重複新增資料, 今天這篇文章就要介紹如何 "盡可能" 的防止使用者按回上一頁
  
  伺服端防止快取
  
  首先來看看伺服端的方法, ASP 的 Response 物件提供了幾個網頁快取 (cache) 相關的屬性, 說明如下
  
  屬性 說明
  CacheControl 判斷代理伺服器 (Proxy Server) 是否快取 ASP 的輸出結果
  Expires 網頁快取的逾期時間
  ExpiresAbsolute 指定網頁快取的逾期時間
  
  
  所以如果你要防止網頁被快取, 你可以這麼做
  
  <%
  Response.Buffer = True
  Response.ExpiresAbsolute = Now() - 1
  Response.Expires = 0
  Response.CacheControl = "no-cache"
  %>
  
  利用這個方法, 使用者還是可以回到上一頁, 但由於網頁並沒有被快取, 所以瀏覽器必須重新向伺服器作 Http 請求, 也就是這個網頁會被重新整理 (Refresh)
  
  用戶端防止快取
  
  你也可以使用用戶端 (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>
  
  和伺服端的方法產生的結果是一樣的, 但有幾點要注意
  
  Pragma : 當使用安全連結時才使用 Pragma, 如果在非安全連結使用, 那麼效果和 Expires : -1 是相同的, 也就是這個網頁還是會被快取, 但會立即逾時
  meta http-equiv 標籤的 cache-control 並不適用於 Internet Explorer 4, 5 版本
  移除工具列
  
  這個方法是在網路上看來的, 有點趣味所以也介紹一下, 做法是這樣的, 利用 window.open 方法來開新視窗, 然後關掉原視窗, 但重點是在開視窗時將工具列移除
  
  <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>
  
  也是一種方法, 但應該很少人會用, 有一點麻煩! 況且按滑鼠右鍵所出現的 Menu 中也有回上一頁的選項, 此法謹防君子不防小人!
  
  使用 location.replace
  
  Javascript location 物件的 replace() 方法會以指定的網址覆蓋瀏覽器目前瀏覽歷史紀錄, 也就是當你用了這個方法, 瀏覽器就會忘掉過去曾經瀏覽的紀錄, 就親像你第一次開啟瀏覽器一樣, 上一頁的按鈕是灰的
  
  你可以這麼做
  
  <a href="Javascript:location.replace(''nextpage.html'')">下一頁</a>
  
  看起來這大概是目前最好的方法! 不過還是有一些缺點, 因為並不是所有的情況都可以套用, 譬如講當你使用 Response.Redirect 時, 這個方法就派不上用場了!
  
  可以歸納出一個結論, 就是要完全關閉瀏覽器回上一頁的功能是不可能的 (目前的瀏覽器), 唯一能做的是因時因地制宜, 結合以上的方法盡可能的防止使用者按回上一頁!
  
  

 

来源:http://www.tulaoshi.com/n/20160129/1509859.html

延伸阅读
标签: PHP
使用者状态管理(session support)是 PHP 4.0 一个让大家期待已久的新功能。在 PHP 3.0 的时代,程序设计员必须使用其它人写好的函式库来实作状态管理功能,或者就干脆放弃这项功能不用算了。而状态管理功能的缺乏事实上是 PHP 3.0 最让人感到失望的地方之一。不过现在状况已经得到改变,从 PHP 4.0 的早期测试版开始,使用...
补肾是人们在日常的生活中常常会听到的,也是常常会做的。而补肾的方法是非常的多的,有一些水果、饮食或是一些小方法、小妙招。那么你知道中医怎么样补肾吗?今天图老师小编就为大家介绍一下补肾中药、食疗补肾以及中医中的拔罐、按摩、针灸补肾法。 目录 1、中医按摩补肾 2、中医针灸补肾 3、中医刮痧补肾 4、中医拔...
标签: ASP
  使用者登入機制在未來的網頁開發會顯得越來越重要, 很簡單的道理, 因為現在的網站很著急的要做好會員管理, 然後向會員收錢, 其實這是很正常的代誌, 台灣的公司法說的很清楚嘛, 『公司以營利為目的』 在 IIS 5.0 的安全性身分驗證機制中, 整合的 Windows 驗證 (在 IIS 4.0 號做 Windows NT 挑戰與回應) 是一個不歹的選擇, 很簡單的一個...
我们常说,五指连心,就算手指破了一点点也会非常的疼痛。不过,你知道吗,如果没事按摩按摩手指的话,会有很多你意想不到的效果哦,就拿大拇指说,多按摩大拇指有着非常神奇的效果哦,一起来看看吧。 现在的孩子学习压力是非常大的,而且平时作业也多,有些人年轻轻轻的就已经带上了眼睛了,老年人也是的,到了一定的年轻也会出现老...
标签: 孕前
按按“好孕穴”就能好孕,不靠谱 日前,微博上的一则消息给一些准备怀孕的都市女性带来了福音,因为微博提供了两个穴位,号称常按这两个穴位,好孕气就会跟着来,这两个穴位是子宫和三阴交等两大养生穴位。 微博称,每天用食指和中指的指端点按三阴交(足内踝尖上约四横指位置)、子宫(脐中至趾骨联合一半,旁...

经验教程

659

收藏

75
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部