zxk8 发表于 2007-8-14 02:12

数据可以写入就是不能执行

<P>不知道为什么,数据可以写入就是不能执行! 搞了几天都不知道那里有问题!特意来这里找高手帮忙!跪谢!!<br>我说的意思,在后台可以写入数据到库内,但是就是不能执行,打个比方,我的是音乐网站.比如我在后台本来已经设置了,某一个IP不能访问,但是依然可以.在后台已经禁止注册了,但是还是可以注册,禁止了游客不能视听歌曲但是,依然可以听!<br>这个是限制IP的<br>&lt;%<br>   Set rs=Server.CreateObject("Adodb.RecordSet")   <br>   sql="select * from noip order by id desc"<br>   rs.Open sql,conn,1,1<br>%&gt;<br><br><br>这个是连接数据库的<br><br>&lt;%</P>
<P><br>'--------定义部份------------------<br>Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr<br>'自定义需要过滤的字串,用 "心情设计" 分隔<br>Fy_In = "'心情设计and心情设计exec心情设计insert心情设计select心情设计delete心情设计update心情设计count心情设计*心情设计%心情设计chr心情设计mid心情设计master心情设计truncate心情设计char心情设计declare"<br>'----------------------------------<br>%&gt;</P>
<P>&lt;%<br>Fy_Inf = split(Fy_In,"凌乱设计")<br>'--------POST部份------------------<br>If Request.Form&lt;&gt;"" Then<br>For Each Fy_Post In Request.Form</P>
<P>For Fy_Xh=0 To Ubound(Fy_Inf)<br>If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))&lt;&gt;0 Then<br>'--------写入数据库----------头-----<br>Fy_dbstr="DBQ="+server.mappath("../data/*.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"<br>Set Fy_db=Server.CreateObject("ADODB.CONNECTION")<br>Fy_db.open Fy_dbstr<br>Fy_db.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&amp;Request.ServerVariables("REMOTE_ADDR")&amp;"','"&amp;Request.ServerVariables("URL")&amp;"','POST','"&amp;Fy_Post&amp;"','"&amp;replace(Request.Form(Fy_Post),"'","''")&amp;"')")<br>Fy_db.close<br>Set Fy_db = Nothing<br>'--------写入数据库----------尾-----</P>
<P>Response.Write "&lt;Script Language=JavaScript&gt;alert('心情设计SQL通用防注入系统提示↓\n\n请不要在参数中包含非法字符尝试注入!\n\nhttp://www.123.cn');&lt;/Script&gt;"<br>Response.Write "非法操作!系统做了如下记录↓&lt;br&gt;"<br>Response.Write "操作IP:"&amp;Request.ServerVariables("REMOTE_ADDR")&amp;"&lt;br&gt;"<br>Response.Write "操作时间:"&amp;Now&amp;"&lt;br&gt;"<br>Response.Write "操作页面:"&amp;Request.ServerVariables("URL")&amp;"&lt;br&gt;"<br>Response.Write "提交方式:POST&lt;br&gt;"<br>Response.Write "提交参数:"&amp;Fy_Post&amp;"&lt;br&gt;"<br>Response.Write "提交数据:"&amp;Request.Form(Fy_Post)<br>Response.End<br>End If<br>Next</P>
<P>Next<br>End If<br>'----------------------------------</P>
<P>'--------GET部份-------------------<br>If Request.QueryString&lt;&gt;"" Then<br>For Each Fy_Get In Request.QueryString</P>
<P>For Fy_Xh=0 To Ubound(Fy_Inf)<br>If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))&lt;&gt;0 Then<br>'--------写入数据库----------头-----<br>Fy_dbstr="DBQ="+server.mappath("../data/*.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"<br>Set Fy_db=Server.CreateObject("ADODB.CONNECTION")<br>Fy_db.open Fy_dbstr<br>Fy_db.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&amp;Request.ServerVariables("REMOTE_ADDR")&amp;"','"&amp;Request.ServerVariables("URL")&amp;"','GET','"&amp;Fy_Get&amp;"','"&amp;replace(Request.QueryString(Fy_Get),"'","''")&amp;"')")<br>Fy_db.close<br>Set Fy_db = Nothing<br>'--------写入数据库----------尾-----</P>
<P>Response.Write "&lt;Script Language=JavaScript&gt;alert('紫轩K吧SQL通用防注入系统提示↓\n\n请不要在参数中包含非法字符尝试注入!\n\nhttp://www.123.cn');&lt;/Script&gt;"<br>Response.Write "非法操作!系统做了如下记录↓&lt;br&gt;"<br>Response.Write "操作IP:"&amp;Request.ServerVariables("REMOTE_ADDR")&amp;"&lt;br&gt;"<br>Response.Write "操作时间:"&amp;Now&amp;"&lt;br&gt;"<br>Response.Write "操作页面:"&amp;Request.ServerVariables("URL")&amp;"&lt;br&gt;"<br>Response.Write "提交方式:GET&lt;br&gt;"<br>Response.Write "提交参数:"&amp;Fy_Get&amp;"&lt;br&gt;"<br>Response.Write "提交数据:"&amp;Request.QueryString(Fy_Get)<br>Response.End<br>End If<br>Next<br>Next<br>End If<br>%&gt;&lt;%<br>  connstr="DBQ="+server.mappath("../data/*.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"<br>  set conn=server.createobject("ADODB.CONNECTION")<br>  conn.open connstr <br>%&gt;</P>
[align=right][color=#000066][此贴子已经被作者于2007-8-14 15:31:18编辑过][/color][/align]

madpbpl 发表于 2007-8-14 10:56

不知道为什么,数据可以写入就是不能执行!<BR>什么意思?没理解

zxk8 发表于 2007-8-14 15:30

我说的意思,在后台可以写入数据到库内,但是就是不能执行,打个比方,我的是音乐网站.比如我在后台本来已经设置了,某一个IP不能访问,但是依然可以.在后台已经禁止注册了,但是还是可以注册,禁止了游客不能视听歌曲但是,依然可以听!

madpbpl 发表于 2007-8-14 16:24

<P>不知道你是如何禁止的?有没有具体代码</P>

zxk8 发表于 2007-8-15 16:11

&lt;%<BR>   Set rs=Server.CreateObject("Adodb.RecordSet")   <BR>   sql="select * from noip order by id desc"<BR>   rs.Open sql,conn,1,1<BR>%&gt;<BR><BR>这个就是限制IP访问的代码! 谢谢 !

madpbpl 发表于 2007-8-15 20:43

你这个sql语句是从noip中搜索所有的数据<BR>并没有反应出来限制哪个ip,所以当然没用了<BR>你的sql语句应该加上某个条件才可以的(个人看法)<BR>比如<BR>sql="select * from noip <FONT color=#f73809>where condition <FONT color=#000000>order by id desc</FONT></FONT><FONT color=#000000>"(红色的只是打个比喻,并不是这样写的,根据实际情况而定)<BR>建议楼主把这个贴子发到asp版块试试。</FONT>

zxk8 发表于 2007-8-16 21:00

谢谢你啊  大虾!

zxk8 发表于 2007-8-16 21:02

条件 那您说这个条件怎么写 要根据什么来定义啊! 谢谢拉 !

页: [1]

编程论坛