描写看日出心情的句子:初学ASP编程易犯的致命问题及解决办法

来源:百度文库 编辑:中财网 时间:2024/05/18 00:21:31
举例:

     表单提交页面:sub.htm

    
    
     管理员登陆</title><br>     <body><br>     <form name="form1" method="post" action="sub.asp"><br>     <p> 管理员:<br>     <input type="text" name="UserID" size="25" maxlength="20"></font></code></p><p><font face="宋体">     密 码: </font><p><font face="宋体"><code>     <input type="text" name="Pass" size="12" maxlength="20"><br>     <input type="submit" name="Submit" value="提交"><br>     </p><br>     </form><br>     </body><br>     </html><br>     SUB.asp程序<br>     <%<br>     ‘‘接收表单中的数据<br>     user=request.from("UserID")<br>     ‘‘检察表单提交的数据是否为空(表单页面可能你用javascript OR VBSCRIPT控制了,但这里也不要忘记控制!<br>     if user="" then<br>     ‘‘转到出错提示页面!<br>     response.redirect "err1.htm"<br>     ‘‘这一句可能没用,但加上为好!<br>     response.end<br>     end if<br>     pass=request.from("Pass")<br>     if pass="" then<br>     response.redirect "err2.htm"<br>     response.end<br>     end if<br>     ‘‘联接数据库<br>     file=server.mappath("你的数据库")<br>     set conn=server.createobject("adodb.connection")<br>     dr="driver={microsoft access driver (*.mdb)};dbq="&file<br>     conn.open dr<br>     set rs=server.createobject("adodb.recordset")<br>     ‘‘关键是这里的SQL语言<br>     sql="select * from 表 where user=‘‘"&user&"‘‘ and pass=‘‘"&pass&"‘‘"<br>     rs.open sql<br>     if not rs.eof then<br>     ‘‘找到的话就进入管理页面<br>     reponse.redirect "login.asp"<br>     else<br>     ‘‘没找到就进入错误页面<br>     response.write "err3.htm" <br>     end if <br>     %><br></code>     大家感觉以上代码应该没问题啊,但是这里有一个严重的安全隐患:</font></p><p><font face="宋体">     我如果想登录管理员的话可以在SUb.htm表单输入框中输入: </font><p><font face="宋体">     第一个文本框中输入:a‘‘ or ‘‘1‘‘=‘‘1 或 ‘‘ OR ‘‘‘‘=‘‘ </font><p><font face="宋体">     第二个文本框中输入:a‘‘ or ‘‘1‘‘=‘‘1 或 ‘‘ OR ‘‘‘‘=‘‘ </font><p><font face="宋体">     提交,大家会看到...“呜,听我说完好不好,砖头一会再丢过来..." </font><p><font face="宋体">     "a " 和“1”为任意字符 </font><p><font face="宋体">     有人会问为什么你输入这些字符会以管理员身份进入呢?? </font></p><p><font face="宋体">其实这些字符是对你程序中SQL语言的欺骗,而成功进入的。 </font></p><p><font face="宋体">     大家看:开始程序SQL中是对表进行查询满足user=‘‘"&user&"‘‘ and pass=‘‘"&pass&"‘‘"条件的记录 </font><p><font face="宋体">     sql="select * from 表 where user=‘‘"&user&"‘‘ and pass=‘‘"&pass&"‘‘" </font><p><font face="宋体">     我而输入上面的代码后就成了: </font><p><font face="宋体">     sql="select * from 表 where user=‘‘a‘‘ or ‘‘1‘‘=‘‘1‘‘ and pass=‘‘a‘‘ or ‘‘1‘‘=‘‘1‘‘" </font><p><font face="宋体">     大家看看,能有不进入的理由吗??给我一个不进入的理由先! </font><p><font face="宋体">     以上USER PASS字段为字符型 如果是数字型也一样的道理!</font></p><p><font face="宋体">     <strong><font color="#ff0000">解决方法:</font></strong> </font><p><font face="宋体">     <strong><font color="#cc0000">一、函数替代法</font></strong> : </font><p><font face="宋体">     用REPLACE将用户端输入的内容中含有特殊字符进行替换,达到控制目的啊!:) </font><p><font face="宋体">     sql="select * from 表 where user=‘‘"&replace(user,"‘‘","‘‘‘‘")&"‘‘ and pass=‘‘"&replace(pass,"‘‘","‘‘‘‘")&"‘‘" </font><p><font face="宋体">     这种方法每次只能替换一个字符,其实危险的字符不只是"‘‘",还有如">"、"<"、"&"、"%"等字符应该全控制起来。但用REPLACE函数好象不太胜任那怎么办呢?? </font><p><font face="宋体">     <font color="#cc0000"><strong>二、程序控制法</strong></font> </font><p><font face="宋体">     用程序来对客户端输入的内容全部控制起来,这样能全面控制用户端输入的任何可能的危险字符或代码,我就的这个方法!:) </font><p><font face="宋体">     举例说明: </font><p><code><font face="宋体">     <%<br>     ‘‘捕捉用户端提交的表单内容<br>     user=request.from("user")<br>     pass=request.from("pass")<br>     ...<br>     ‘‘循环控制开始<br>     for i=1 to len(user)<br>     ‘‘用MID函数读出变量user中i 位置的一个字符<br>     us=mid(user,i,1)<br>     ‘‘将读出的字符进行比较<br>     if us="‘‘" or us="%" or us="<" or us=">" or us="&" then<br>     ‘‘如果含有以上字符将出错提示,不能含有以上特殊字符<br>     response.redirect "err2.htm"<br>     response.end<br>     end if<br>     next<br>     ...<br>     %></font></code></p><p><font face="宋体">     通过以上学习,大家一定会对ASP SQL有个深刻的了解。</font></p></div> <div class="zuoye-list-a"> <a href="/article/wpvkdp">!!初学ASP.NET编程的菜问题</a> <a href="/article/wpznsw">初学ASP.NET编程的菜问题</a> <a href="/article/wcwypk">初学ASP的简单问题</a> <a href="/article/wrqtoz">asp编程的问题.</a> <a href="/article/wrzuiv">ASP编程的问题</a> <a href="/article/wrgvdk">WinAPI编程问题[初学]</a> <a href="/article/wrqbzh">初学编程问题</a> <a href="/article/wryztd">编程初学问题</a> <a href="/article/wowlzk">初学ASP,有关连接数据库连接的问题:</a> <a href="/article/wfsbbb">初学编程的困惑</a> <a href="/article/weoiee">关于ASP的编程问题</a> <a href="/article/wrbffd">一个ASP编程的问题</a> <a href="/article/wrqxbf">asp编程的小问题.</a> <a href="/article/weescm">雕刻机常见的问题及解决办法</a> <a href="/article/whtysi">中小企业网络营销出现的问题及解决办法</a> <a href="/article/whxihu">河南对外贸易存在的问题及解决办法</a> <a href="/article/wcuvvh">asp及access的问题</a> <a href="/article/wmucem">寻找ASP编程调用ACCESS的相关教程及文章</a> <a href="/article/wauzch">一个致命的问题?</a> <a href="/article/wrpacb">电脑的致命问题</a> <a href="/article/wbfutg">ASP.net的编程问题(求助)</a> <a href="/article/wflczj">困绕很久的asp编程问题</a> <a href="/article/wfxizm">关于电子邮件的问题(asp网页编程)</a> <a href="/article/wietbj">?????关于asp的编程问题??? 谢谢!!大虾</a> </div> </div> </div> </div> </div> </div> </div> <div id="footer"> <div class="footerlinks"> <div class="panel panel-default"> <div class="panel-heading">相关问题</div> <div class="panel-body"> <a class="btn btn-default" href="/article/vxupsn" title="六根清净中的六根指什么?">六根清净中的六根指什么?</a> <a class="btn btn-default" href="/article/vxupso" title="怎样广结善缘">怎样广结善缘</a> <a class="btn btn-default" href="/article/vxupsp" title="印光大师应对灾难法语">印光大师应对灾难法语</a> <a class="btn btn-default" href="/article/vxupsq" title="万金不卖良方">万金不卖良方</a> <a class="btn btn-default" href="/article/vxupsr" title="修行人应熟知的基本常识">修行人应熟知的基本常识</a> <a class="btn btn-default" href="/article/vxupss" title="佛教的基本教义和戒律">佛教的基本教义和戒律</a> <a class="btn btn-default" href="/article/vxupst" title="供一个准确的胆码">供一个准确的胆码</a> <a class="btn btn-default" href="/article/vxupsu" title="六祖坛经全文 - 忏悔品第六">六祖坛经全文 - 忏悔品第六</a> <a class="btn btn-default" href="/article/vxupsv" title="拥有私人飞机的十位大腕明星(图) - 大漠孤烟直的日志 - 网易博客">拥有私人飞机的十位大腕明星(图) - 大漠孤烟直的日志 - 网易博客</a> <a class="btn btn-default" href="/article/vxupsw" title="相貌庄严——修善与面相">相貌庄严——修善与面相</a> <a class="btn btn-default" href="/article/vxupsx" title="广州服装批发市场踩点">广州服装批发市场踩点</a> <a class="btn btn-default" href="/article/vxupsy" title="十八罗汉">十八罗汉</a> <a class="btn btn-default" href="/article/vxupsz" title="学佛学成神经兮兮,这是学佛的精神吗?">学佛学成神经兮兮,这是学佛的精神吗?</a> <a class="btn btn-default" href="/article/vxupta" title="四禅八定五眼六神通 初地菩萨到十地菩萨">四禅八定五眼六神通 初地菩萨到十地菩萨</a> <a class="btn btn-default" href="/article/vxuptb" title="八卦六爻预测入门-实例应用-何时能结婚">八卦六爻预测入门-实例应用-何时能结婚</a> <a class="btn btn-default" href="/article/vxuptc" title="人体穴位全图">人体穴位全图</a> <a class="btn btn-default" href="/article/vxuptd" title="快速契入菩萨境界的妙法">快速契入菩萨境界的妙法</a> <a class="btn btn-default" href="/article/vxupte" title="教你成功避开办公室的流言和暗箭">教你成功避开办公室的流言和暗箭</a> <a class="btn btn-default" href="/article/vxuptf" title="香谱密示吉凶图">香谱密示吉凶图</a> <a class="btn btn-default" href="/article/vxuptg" title="世界第一都会----钮 约">世界第一都会----钮 约</a> <a class="btn btn-default" href="/article/vxupth" title="中国骗子大全">中国骗子大全</a> <a class="btn btn-default" href="/article/vxupti" title="史上最全的泡MM短信(吐血推荐)">史上最全的泡MM短信(吐血推荐)</a> <a class="btn btn-default" href="/article/vxuptj" title="34 修行的总纲领">34 修行的总纲领</a> <a class="btn btn-default" href="/article/vxuptk" title="35 念佛功夫">35 念佛功夫</a> <a class="btn btn-default" href="/article/vxuptl" title="蜜蜂系列产品具有药食同源的特点">蜜蜂系列产品具有药食同源的特点</a> <a class="btn btn-default" href="/article/vxuptm" title="八卦六爻预测入门-实例应用-翁某测年运">八卦六爻预测入门-实例应用-翁某测年运</a> <a class="btn btn-default" href="/article/vxuptn" title="八卦六爻预测入门-实例应用-罗源某女测出国">八卦六爻预测入门-实例应用-罗源某女测出国</a> <a class="btn btn-default" href="/article/vxupto" title="八卦六爻预测入门-实例应用-男测与女友恋爱能否长久">八卦六爻预测入门-实例应用-男测与女友恋爱能否长久</a> <a class="btn btn-default" href="/article/vxuptp" title="**修合无人见,存心有天知**">**修合无人见,存心有天知**</a> <a class="btn btn-default" href="/article/vxuptq" title="公务员范文大全">公务员范文大全</a> <a class="btn btn-default" href="/article/vxuptr" title="一棵树(上师最新开示)">一棵树(上师最新开示)</a> </div> </div> </div> <div class="copy-right"> <p>中财网,客观、专业、权威的知识性互动百科全书。</p></div> </div> </div> <!--mip 运行环境--> <mip-stats-baidu> <script type="application/json"> { "token": "97cc1851a34f9e233119ff36ecf54098", "_setCustomVar": [1, "login", "1", 2], "_setAutoPageview": [true] } </script> </mip-stats-baidu> <script src="https://c.mipcdn.com/static/v1/mip.js"></script> <!--分享组件 代码--> <script src="https://c.mipcdn.com/static/v1/mip-share/mip-share.js"></script> <!--百度统计组件 代码--> <script src="https://c.mipcdn.com/static/v1/mip-stats-baidu/mip-stats-baidu.js"></script> </body> </html>