2013年1月4日 星期五

[ASP]判斷來源頁,防止惡意侵入

在設計表單相關的程式時,Submit後POST到的頁面,通常透過Session判斷外 最好再加上來源頁判斷,以防有心人士透過URL傳遞參數,導致錯誤的資料寫入資料庫 在ASP可以用以下翻法來判斷:
  HTTP_REFERER = Request.ServerVariables("HTTP_REFERER") 
  if instr(HTTP_REFERER,"xxx.asp")>0 then
     '如是由xxx.asp導向此頁,可做一些處理
  else
     '來源頁不為xxx.asp,導向Error頁或首頁
  end if
這種語法可以再做很多事,如可以透過來源頁再導向該有的網址
  HTTP_REFERER = Request.ServerVariables("HTTP_REFERER") 
  Select Case HTTP_REFERER 
    Case "http://www.test1.com"
        Response.Redirect "test1.asp"
    Case "http://www.test2.com"
        Response.Redirect "test2.asp"
    Case Else
        Response.Write "index.html"
  End Select

沒有留言:

張貼留言