<%''判断来源,禁止外部提交
dim server_v1,server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if server_v1="" or instr(server_v1,"发表页面名")<=0 or mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<SCRIPT language=JavaScript>alert('来源非法,禁止外部提交!');"
response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
response.end
end if%>

這其實是大陸網站copy回來的程式碼

坦白說這方法真是很笨

正確的方法,其實是用個session()綁定用戶就行了

比如在在首頁給用戶一個 session("user")="login"

當外部的form要來灌資料庫時,由於他並不是來自本地網頁,他的session值是空的

因此在接收request的頁面,都檢查這個session()就好了

如果session="" 就請它回去吃自己就行了(回上頁)

但是,如果該用戶來踩一下,你的首頁,取得session後,再進行灌表單
當然這就破功了,不過上述的表單,可以精準的要求來源一定得從表單的網址

但這樣其實也簡單 session("user")=Request.ServerVariables("HTTP_REFERER")

然後再到request頁,檢查 session("user")內容就好了

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 sean 的頭像
    sean

    My Source Code

    sean 發表在 痞客邦 留言(0) 人氣()