在上一頁面做跳轉操作,可以在下一頁面獲得上一頁面的Referer從而判斷頁面的來路。
目前web開發有以下幾種頁面跳轉方式:
(1)使用RequestDispatcher跳轉。該方式不支持跨域目的頁面也無法取得referer
RequestDispatcher rd = request.getRequestDispatcher(url);
rd.forward(request, response);
(2)該方式支持跨域但目的頁面也無法取得referer
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location",url);
(3)該方式支持跨域但目的頁面也無法取得referer
response.sendRedirect(url);
(4)使用form表單提交,并且用post方法提交,既可跨域又能得到referer,并且支持form表單的action屬性中url使用參數
(5)使用form表單提交,用get方法提交,既可跨域又能得到referer,但不支持form表單的action屬性中url使用參數
這種方式下會將action的值后面添加"?"提交到web服務器。如果actio中的url就含有"?"則會將"?"后的數據忽略掉。而post方式不存在這個問題。
(6)使用html中href來跳轉頁面,下一頁面,可以獲得referer。
posted on 2008-05-19 10:54
分享愛的空間 閱讀(4322)
評論(2) 編輯 收藏