|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;页面在第三方页面传送参数这个思绪却是切实其实能够省下一些代码,最少我之前是从没如许子传过。
<%
PassformobjectssubmittedbyaformG
ET
IfRequest.QueryString.Count>0Then
QStr="?"
ForEachxInRequest.QueryString
QStr=QStr&x&"="WriteNameofParameter
QStr=QStr&Server.URLEncode(request.QueryString(x))&"&"Writevalueofparameter
Next
QStrSz=len(QStr)-1
QStr=LEFT(QStr,QStrSz)
else
QStr=""
EndIf
Response.Redirect("YourURL.asp"&QStr)
%>
TheNextexampleshowshowTobuildthesubmittedparametersfromaformPOST.Theprocedurereadsallpostedobjectsandbuildsaquerystringparameter.
<%
PassformobjectssubmittedbyaformG
ET
IfRequest.form.Count>0Then
QStr="?"
ForEachxInRequest.form
QStr=QStr&x&"="WriteNameofParameter
QStr=QStr&Server.URLEncode(request.form(x))&"&"Writevalueofparameter
Next
QStrSz=len(QStr)-1
QStr=LEFT(QStr,QStrSz)
else
QStr=""
EndIf
Response.Redirect("YourURL.asp"&QStr)
%>
TheNextcodeexamplemaybeusedasatestASPpageToredirectto.Itreadsthequerystringandbuildsatabletodisplaytheparameternameandvaluepassed.
<%@Language=VBScript%>
<HTML>
<BODY>
<%
Response.Write"<TABLEBORDER=1><TR><TH>Parameter</TH><TH>Value</TH></TR>"
ForEachxInRequest.QueryString
Response.write"<TR><TD>"&x&"</TD><TD>"WriteNameofParameter
Response.writeRequest.QueryString(x)&"</TD></TR>"Writevalueofparameter
Next
Response.Write"</TABLE>"
%>
</BODY>
</HTML>
固然,下面这个器材的改善版本就简便多了,再看这个
<%
If
Request.QueryString.Count>0Then
Response.Redirect("YourURL.asp?"&
Request.QueryString
Else
If
Request.Form.Count>0Then
Response.Redirect("YourURL.asp?"&
Request.Form)
Else
Response.Write("NoDataSent")
End
If
EndIf
%>
本来能够全部抓取的,我也是方才晓得,不敢独吞,拿出来共享</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失; |
|