当PHP.ini设置register_globals = On是,通过GET提交的数据可以直接使用表单名调用GET提交的数据。asp就不可以,我想到了asp的execute,也谢了一个脚本,还能过滤SQL注入字符串
<% Dim myRegExp set myRegExp=New RegExp myRegExp.Pattern = "[^a-z0-9_]" myRegExp.Global=True for each Req in Request.Querystring ReqV=Request.Querystring(Req) if trim(ReqV)<>"" then ReqV=replace(ReqV,"""","""""") Req=myRegExp.Replace(Req,"") Execute(Req&"="""&ReqV&"""") end if next response.write a %>
调用很简单。比如GET提交/get_Test.asp?a=111&b=222
则直接可以使用Response.write a,输出结果为111。简单吧~
再次感谢小秦(Q48080163)提出的bug