一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

asp.net 防止用戶通過后退按鈕重復(fù)提交表單

防止用戶通過后退按鈕重復(fù)提交表單
<%
response.Buffer=true
response.Expires=0
response.ExpiresAbsolute=now()-1
response.CacheControl="no-cache"
%>
response.Buffer=true的意思就是指明輸出頁面是否被緩沖,當屬性值為True時,服務(wù)器將不會向客戶端發(fā)送任何信息,直到所有程序執(zhí)行完或者遇到
<% Response.Flush %>或<% Response.End %>
語句,才會釋放緩沖區(qū)的信息。
Expires 屬性
Expires 屬性指定了在瀏覽器上緩沖存儲的頁距過期還有多少時間。如果用戶在某個頁過期之前又回到此頁,就會顯示緩沖區(qū)中的版本
語法
Response.Expires [= number]
參數(shù)
number
距過期還有多少分鐘。將此參數(shù)設(shè)置為 0 可使緩存的頁立即過期。
注釋
若此屬性在一頁上設(shè)置了多次,則使用最短的時間。
應(yīng)用
Response 對象
Response.expires=0也表示立即過期,但如果client和server不在一個時區(qū)或者client的時間早于server上的時間,則不能立即過期。所以用負數(shù)或者用Response.ExpiresAbsolute=now()-1來表示立即過期,response.expires=1表示在1分鐘后過期。

ASP中Response.ExpiresAbsolute=now()-1
ASP頁面中,通常會有這樣的設(shè)置。
Response.ExpiresAbsolute=now()-1‘設(shè)置過期時間的絕對值為當前時間-1,即出來后就過期了
這是因為默認情況下,瀏覽器將頁面先載入緩存,然后才顯示出來.通過上述設(shè)置,使瀏覽器對頁面不進行緩存,所以當用戶點"后退"后,由于頁面沒有緩存,所以瀏覽器只能再次通過向服務(wù)器發(fā)出HTTP請求來得到頁面,這樣就實現(xiàn)了限制了用戶對同一網(wǎng)頁進行多次操作。
ASP中Response.Expires = -1
一般情況下,當用戶請求WEB服務(wù)器時,服務(wù)器把請求回復(fù)給客戶端。在客戶端,瀏覽器把緩存作為一種加快速度的策略,就是當請求時先檢查緩存的情況,如果有就直接調(diào)緩存了,而不請求服務(wù)器了。
在WEB程序設(shè)計中,有時為了防止重復(fù)的提交或者嚴格的次序等,必須讓用戶的數(shù)據(jù)立即在使用后就過期,當用戶后退時就顯示過期而不能繼續(xù)使用。也算是為安全考慮的吧。
一般,response.expires寫在頁面的最上端,后面跟的是一個時間,就是過期的時間,0表示立即過期。


ASP中對瀏覽器緩存的設(shè)置
Response.CacheControl = "no-cache"
設(shè)置不緩存在臨時文件中.本句是指,上網(wǎng)時看到的圖片通常在interNET


接下來我們要討論的方法以后退按鈕本身為中心,而不是瀏覽器緩存。這兒有一篇文章Rewiring the Back Button很值得參考。不過我注意到,如果使用這種方法,雖然用戶點擊一下后退按鈕時他不會看到以前輸入數(shù)據(jù)的頁面,但只要點擊兩次就可以,這可不是我們希望的


效果,因為很多時候,固執(zhí)的用戶總是能夠找到繞過預(yù)防措施的辦法。
  另外一種禁用后退按鈕的辦法是用客戶端Javascript打開一個沒有工具條的窗口,這使得用戶很難返回前一頁面,但不是不可能。一種更安全但相當惱人的方法是,當表單提交時打開一個新的窗口,與此同時關(guān)閉表單所在的窗口。但我覺得這種方法不值得認真考慮,因為我


們總不能讓用戶每提交一個表單就打開一個新窗口。
  那么,在那個我們不想讓用戶返回的頁面是否也可以加入Javascript代碼呢?在這個頁面中加入的Javascript代碼可用來產(chǎn)生點擊前進按鈕的效果,這樣也就抵消了用戶點擊后退按鈕所產(chǎn)生的動作。用于實現(xiàn)該功能的Javascript代碼如下所示:
<script language="Javascript">
<!--
Javascript:window.history.forward(1);
//-->
</script>
  同樣地,這種方法雖然有效,但距離“最好的方法”還差得很遠。后來我又看到有人建議用location.replace從一個頁面轉(zhuǎn)到另一個頁面。這種方法的原理是,用新頁面的URL替換當前的歷史紀錄,這樣瀏覽歷史記錄中就只有一個頁面,后退按鈕永遠不會變?yōu)榭捎?。我想這可能正是許多人所尋求的方法,但這種方法仍舊不是任何情況下的最好方法。使用這種方法的實例如下所示:
<A HREF="PageName.htm" onclick="Javascript:location.replace(this.href); event.returnvalue=false; ">
禁止后退到本頁面的鏈接
   試試下面這個鏈接:
   禁止后退到本頁面的鏈接!
  這種方法的缺點在于:簡單地運用Response.Redirect將不再有效,這是因為每次用戶從一個頁面轉(zhuǎn)到另一個頁面,我們都必須用客戶端代碼清除 location.history。另外還要注意,這種方法清除的是最后一個訪問歷史記錄,而不是全部的訪問記錄。
  點擊上面的鏈接,你將打開一個簡單的HTML頁面。再點擊后退按鈕,你可以看到這時打開的不是本頁面,而是本頁面之前的頁面!(當然,你必須在瀏覽器中啟用了客戶端Javascript代碼。)

  經(jīng)過一番仔細的尋尋覓覓之后,我發(fā)現(xiàn)仍舊無法找出真正能夠完全禁用瀏覽器后退按鈕的辦法。所有這里介紹的方法都能夠在不同程度上、以不同的方式禁止用戶返回前一頁面,但它們都有各自的局限。由于不存在能夠完全禁用后退按鈕的方法,所以最好的方案應(yīng)該是:混合運用客戶端腳本和服務(wù)器端腳本。

AspNet技術(shù)asp.net 防止用戶通過后退按鈕重復(fù)提交表單,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: v视界成人影院在线视频 | 桃花视频在线观看高清版mv | 国产在线播放成人免费 | 美女被性调教视频在线观看 | 天天伊人 | 最新99国产成人精品视频免费 | 美女胸又www又黄网站 | 亚洲国产精品久久 | 午夜dj观看在线影院 | 美女被性调教视频在线观看 | 亚洲特一级毛片 | 波多野结衣精品一区二区三区 | 青草成人 | 国产精品视频福利一区二区 | 成人爽a毛片在线视频网站 成人丝袜激情一区二区 | 午夜噜噜 | 最新国产福利在线观看 | 欧美午夜小视频 | 色播在线观看免费 | 韩国精品一区二区久久 | 一区二区三区观看 | 福利在线观看视频 | 久草国产精品 | 亚洲国产精品综合久久一线 | 人人干在线观看 | 国产永久免费高清在线观看视频 | 日韩中文字幕久久久经典网 | 一区小说二区另类小说三区图 | 国产乱子伦一区二区三区 | 天天舔天天射 | 国产91中文剧情在线观看 | 免费一区二区视频 | 天天视频免费入口 | 久久精品亚洲牛牛影视 | 99在线观看国产 | 亚洲国产欧美91 | 国产精品999 | riav久久中文一区二区 | 涩涩爱视频 | 福利影院在线看 | www.日本黄 |