国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

阻止外部提交和客戶端腳本不兼容解決方法

admin
2011年3月10日 23:40 本文熱度 3647
為了阻止一些人惡意的向站點提交內容,我們在站點中加入了阻止外部提交,你將會發現在客戶端使用腳本window.open或是document.location.href進行跳轉時都成了非法來源了,似乎只能通過點擊頁面的鏈接或提交表單的方式才可能是合法的。既然通過提交表單可以,那我們只需在頁面中構造一個隱藏的表單,腳本要跳轉時動態的更改隱藏表單的提交地址,并用腳本提交表單不就解決了!下邊是測試代碼:

index.htm:


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!-- <meta http-equiv="refresh" content="5;URL=test.asp" /> -->
<title>外部提交測試</title>
</head>
<body>
<form id="jumpto" name="jumpto" method="post" action="" style="display:none;"></form>
<a href="test.asp">Links</a>
<br /><br /><br />
<input name="btn" type="button" id="btn" value="window.location" onclick="window.location = 'test.asp';" /><br />
<input name="btn2" type="button" id="btn2" value="document.location.href" onclick="document.location.href = 'test.asp';" /><br />
<input name="btn3" type="button" id="btn3" value="window.open" onclick="window.open('test.asp');" /><br />
<input name="btn4" type="button" id="btn4" value="location.replace" onclick="location.replace('test.asp');" /><br />
<input name="btn5" type="button" id="btn5" value="jumpto(就我可以)" onclick="jumpto.action='test.asp';jumpto.submit();" /><br />
</body>
</html>

test.asp:


<%
Server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
Server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
Response.Write("來源: " & mid(server_v1,8,len(server_v2)) & "<br/>")
Response.Write("當前: " & Server_v2 & "<br/>")
If  mid(server_v1,8,len(server_v2))<>server_v2  then
    Response.write "警告!你正在從外部提交數據!!請立即終止!!"
    Response.End
End if
%>

另一種方法是通過修改服務器端程序:既然我們的目的只是為了阻止外部提交,那么只需在有通過Post或Get方式進行提交數據時才驗證來源,其他情況都不驗證,這樣上邊腳本不兼容問題自然也就沒有了。上邊的程序不僅阻止外部提交,連友情鏈接也都被阻止了。修改后的服務器端程序如下:


<%
If Instr(Request.Form,"=")>0 or Instr(Request.QueryString,"=")>0 Then
    Server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
    Server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
    Response.Write("來源: " & mid(server_v1,8,len(server_v2)) & "<br/>")
    Response.Write("當前: " & Server_v2 & "<br/>")
    If  mid(server_v1,8,len(server_v2))<>server_v2  then
        Response.write "警告!你正在從外部提交數據!!請立即終止!!"
        Response.End
    End if
End If
%>

當然,也可以將上邊驗證程序寫成一個函數,在需要的時候再調用也是可以的,這也是一種比較通用的做法:


 <%
Sub checkForm()
    Server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
    Server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
    Response.Write("來源: " & mid(server_v1,8,len(server_v2)) & "<br/>")
    Response.Write("當前: " & Server_v2 & "<br/>")
    If  mid(server_v1,8,len(server_v2))<>server_v2  then
        Response.write "警告!你正在從外部提交數據!!請立即終止!!"
        Response.End
    End if
End Sub
%>

該文章在 2011/3/10 23:40:09 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产高颜值大学生情侣酒店 | 欧美精品九九99久久在观看 | 俺也去资源站 | 亚洲精品无码aⅴ中 | 国产三级视频在线观看视 | 亚洲精品高清国产麻豆专区 | 亚洲精品永久天天 | 四虎影视在线影院在线观看免费视频 | 无码熟妇人妻av在线影片免费 | 免费无码不卡中文字幕在线 | 把腿张开老子臊烂你多P视频 | 四虎无码永久在线影库网址一个人 | 精品无码av毛片一区二区三区 | 国产成人无码综合亚洲日韩 | 久久亚洲av成人无码国产 | 久久久久久久综合综合狠狠 | 免费无码国产在线观看91 | 久久狠狠色情网 | 日韩精品视频美在线精品视频 | 日韩欧美中文在线 | 亚洲最大av无码国产 | 国产欧美亚洲日韩图片 | 日韩欧美中文字幕在线观看1024 | 亚洲熟女精品中文字幕 | 国产精品美女久久久久av福利 | 免费看男阳茎进女阳道动态图 | 一本久久伊人热热精 | 中文字幕av无码不卡二区 | 亚洲国产成人高清在线播放 | 成人毛片女人十八毛片免费 | 亚洲综合伊人色一区 | 无码中文字幕av免费放dvd | 97高清国语自产拍 | 国产亚洲精品久久久久久 | 一本大道香蕉青青久久 | 四虎成人精品在永久免费 | 四虎在线精品观看免费 | 成年女人毛片免费观看97 | 熟妇与小伙在线播放 | 国产乱对白精彩在线播放 | 国产成人综合亚洲欧美在线 |