IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁網(wǎng)絡(luò)編程Asp編程 → 初學(xué)ASP編程易犯的一個錯誤要注意

初學(xué)ASP編程易犯的一個錯誤要注意

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

在ASP編程中,身份認(rèn)證可以說是常要用到的。但怎么樣才能做到認(rèn)證的安全呢?

??? 表單提交頁面: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"><br />??? 密 碼: <br />??? <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 />?</p> <p>??? SUB.asp程序 <br />??? <% <br />??? 接收表單中的數(shù)據(jù) <br />??? user=request.from("UserID") <br />??? 檢察表單提交的數(shù)據(jù)是否為空(表單頁面可能你用<a href="http://m.europeautoinsurance.com/key/java/" target="_blank">JAVA</a>SCRIPT OR <a href="http://m.europeautoinsurance.com/key/vb/" target="_blank">VB</a>SCRIPT控制了,但這里也不要忘記控制! <br />??? if user="" then <br />??? 轉(zhuǎn)到出錯提示頁面! <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 />??? 聯(lián)接<a href="http://m.europeautoinsurance.com/key/shujuku/" target="_blank">數(shù)據(jù)庫</a> <br />??? file=server.mappath("你的數(shù)據(jù)庫") <br />??? set conn=server.createobject("adodb.connection") <br />??? dr="driver={microsoft <a href="http://m.europeautoinsurance.com/key/access/" target="_blank">access</a> driver (*.mdb)};dbq="&file <br />??? conn.open dr <br />??? set rs=server.createobject("adodb.recordset") <br />??? 關(guān)鍵是這里的SQL語言 <br />??? sql="select * from 表 where user= "&user&" and pass= "&pass&" " <br />??? rs.open sql <br />??? if not rs.eof then <br />??? 找到的話就進(jìn)入管理頁面 <br />??? reponse.redirect "login.asp" <br />??? else <br />??? 沒找到就進(jìn)入錯誤頁面 <br />??? response.write "err3.htm" <br />??? end if <br />??? %> <br />?</p> <p>??? 大家感覺以上代碼應(yīng)該沒問題啊,但是這里有一個嚴(yán)重的安全隱患:</p> <p>??? 我如果想登錄管理員的話可以在SUb.htm表單輸入框中輸入: </p> <p>??? 第一個文本框中輸入:a or 1 = 1 或 OR = </p> <p>??? 第二個文本框中輸入:a or 1 = 1 或 OR = </p> <p>??? 提交,大家會看到..."嗚,聽我說完好不好,磚頭一會再丟過來..." </p> <p>??? "a " 和"1"為任意字符 </p> <p>??? 有人會問為什么你輸入這些字符會以管理員身份進(jìn)入呢?? </p> <p>??? 其實(shí)這些字符是對你程序中SQL語言的欺騙,而成功進(jìn)入的 </p> <p>??? 大家看:開始程序SQL中是對表進(jìn)行查詢滿足user= "&user&" and pass= "&pass&" "條件的記錄 </p> <p>??? sql="select * from 表 where user= "&user&" and pass= "&pass&" " </p> <p>??? 我而輸入上面的代碼后就成了: </p> <p>??? sql="select * from 表 where user= a or 1 = 1 and pass= a or 1 = 1 " </p> <p>??? 大家看看,能有不進(jìn)入的理由嗎??給我一個不進(jìn)入的理由,先! </p> <p>??? 以上USER PASS字段為字符型 如果是數(shù)字型也一樣的道理!</p> <p>??? 解決方法: </p> <p>??? 一、函數(shù)替代法: </p> <p>??? 用REPLACE將用戶端輸入的內(nèi)容中含有特殊字符進(jìn)行替換,達(dá)到控制目的?。ql="select * from 表 where user= "&replace(user," "," ")&" and pass= "&replace(pass," "," ")&" " </p> <p>??? 這種方法每次只能替換一個字符,其實(shí)危險的字符不只是" ",還有如">"、"<"、"&"、"%"等字符應(yīng)該全控制起來。但用REPLACE函數(shù)好象不太勝任那怎么辦呢?? </p> <p>??? 二、程序控制法 </p> <p>??? 用程序來對客戶端輸入的內(nèi)容全部控制起來,這樣能全面控制用戶端輸入的任何可能的危險字符或代碼,我就的這個方法!<br /><% <br />??? 捕捉用戶端提交的表單內(nèi)容 <br />??? user=request.from("user") <br />??? pass=request.from("pass") <br />??? ... <br />??? 循環(huán)控制開始 <br />??? for i=1 to len(user) <br />??? 用MID函數(shù)讀出變量user中i 位置的一個字符 <br />??? us=mid(user,i,1) <br />??? 將讀出的字符進(jìn)行比較 <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 />??? %> </p> <p>關(guān)鍵詞標(biāo)簽:錯誤,注意,一個,編程,</p> </dd> <div id="mlzrxl6" class="adw"> <script>//main("728*90");</script> </div> </dl> <p id="lread"> <b class="tit"> <em>相關(guān)閱讀</em> </b> <span> <!--showCmsRes:id in({$mutualitycms})|DateAndTime desc|6|60| <i><a href="{url}" target="_blank">{title}</a></i> |{m}-8i8gjb6|0--> </span> </p> <dl id="commentBox"> <dt class="tit"><i>文章評論</i></dt> <dd id="comment"> <div class="mthxp8h" id="comment-list"> <div class="26wncsd" id="hotCmt"> <!--hotshowLy--> </div> <dl> <!--showLy--> </dl> <p id="cmtNum-wrap"> <a href="http://m.europeautoinsurance.com/comment_852_1.html">查看所有<span id="cmtNum">0</span>條評論>></a></p> </div> <div class="q3rj8r6" id="comment-form"> <form action="/ajax.asp" method="post" id="cmtForm"> <fieldset> <legend>發(fā)表評論</legend> <input name="SoftID" type="hidden" id="softID" value="852"/> <input name="CommentTpye" type="hidden" value="1"/> <input name="Action" type="hidden" value="2"/> <p id="userName-wrap"> <input name="UserName" type="text" id="userName" class="input-bg grey9" maxLength="10" value="網(wǎng)友"/></p> <p> <textarea name="content" id="cmtMsg" class="input-bor">我來說兩句...</textarea> </p> <p> <button type="submit" class="btn-submit button btnOrg fr" id="subCmt">提交評論</button> </p> </fieldset> </form> </div> </dd><!-- #comment end --> <!--INCLUDE:/skin/pinglun_wz.html--> </dl> </dt> <dd id="cside"> <div id="8el8mi3" class="adr"> <script>//main("250*250");</script> </div> <p id="rpj"> <b class="tit"><em>熱門文章</em></b> <span> <a href="http://m.europeautoinsurance.com/article/1100.html"> <img width="150" height="100" src="" alt="ASP編程代碼:隱藏圖片的真實(shí)地址"/> <b>ASP編程代碼:隱藏圖片的真實(shí)地址</b> </a> <a href="http://m.europeautoinsurance.com/article/885.html"> <img width="150" height="100" src="" alt="ASP教程:0177:800401f3錯誤解決"/> <b>ASP教程:0177:800401f3錯誤解決</b> </a> <a href="http://m.europeautoinsurance.com/article/1019.html"> <img width="150" height="100" src="" alt="ASP代碼中如何屏蔽ip地址 禁止某IP段訪問網(wǎng)站"/> <b>ASP代碼中如何屏蔽ip地址 禁止某IP段訪問網(wǎng)站</b> </a> <a href="http://m.europeautoinsurance.com/article/8088.html"> <img width="150" height="100" src="" alt="錯誤80004005信息處理方法"/> <b>錯誤80004005信息處理方法</b> </a> <!--showCmsResImages:catalogid = {$catalogid}|DateAndTime desc|4|40|SmallImg|1| <a href="{url}"><img width="150" height="100" src="{img}" alt="{title}" /> <b>{title}</b> </a> |40--> </span> </p> <div class="2jd36lu" id="wj"> <b class="tit"><em>相關(guān)下載</em></b> <ul> <!--showDownRes:id in({$mutualitydown}) and ResSize<>0|charindex(cast(id as varchar),'{$mutualitydown}')|6|42| <li> <a href="{softurl}" target="_blank" title="{softname}"> <img src="{smallimg}" alt="{softname}"><b>{softname}</b> </a> <p class="star{softrank}"></p> <p>時間:<em class="old">{date}</em></p> </li> |{m}-wq1xp18|42--> </ul> </div> <p id="rwz"> <b class="tit"><em>人氣排行</em></b> <span> <i><a href="http://m.europeautoinsurance.com/article/853.html" target="_blank">ASP下標(biāo)越界的解決方法</a></i> <i><a href="http://m.europeautoinsurance.com/article/1019.html" target="_blank">ASP代碼中如何屏蔽ip地址 禁止某IP段訪問網(wǎng)站</a></i> <i><a href="http://m.europeautoinsurance.com/article/113.html" target="_blank">“文件共享鎖定數(shù)溢出” 原因及解決方法</a></i> <i><a href="http://m.europeautoinsurance.com/article/736.html" target="_blank">無法寫入數(shù)據(jù)庫的解決方法</a></i> <i><a href="http://m.europeautoinsurance.com/article/885.html" target="_blank">ASP教程:0177:800401f3錯誤解決</a></i> <i><a href="http://m.europeautoinsurance.com/article/2206.html" target="_blank">ASP常用函數(shù)列表</a></i> <i><a href="http://m.europeautoinsurance.com/article/1226.html" target="_blank">如何用ASP來獲取客戶端真實(shí)IP的地址</a></i> <i><a href="http://m.europeautoinsurance.com/article/600.html" target="_blank">ASP用FSO生成HTML簡單實(shí)例+詳解[原創(chuàng)]</a></i> <!--showCmsRes:catalogid = {$catalogid}|Hits desc|8|60| <i><a href="{url}" target="_blank">{title}</a></i> |{m}-366rhb3|0--> </span> </p> </dd> </dl> <ul id="foot"> <li> <a href="http://m.europeautoinsurance.com/about/" rel="nofollow">關(guān)于我們</a>| <a href="http://m.europeautoinsurance.com/about/help.html" rel="nofollow">下載幫助</a>| <a href="http://m.europeautoinsurance.com/about/downinfo.html" rel="nofollow">下載聲明</a>| <a href="http://m.europeautoinsurance.com/about/copyright.html" rel="nofollow">版權(quán)聲明</a>| <a href="http://m.europeautoinsurance.com/about/partner.html" rel="nofollow">合作伙伴</a>| <a href="http://m.europeautoinsurance.com/about/ads.html" rel="nofollow">廣告服務(wù)</a>| <a href="http://m.europeautoinsurance.com/about/links.html" rel="nofollow">友情連接</a>| <a href="http://m.europeautoinsurance.com/about/contact.html" rel="nofollow">聯(lián)系我們</a>| <a href="http://m.europeautoinsurance.com/catalog.html">網(wǎng)站地圖</a> </li> <li>Copyright © 2007-2024 綠軟下載站(m.europeautoinsurance.com) All Rights Reserved. <a rel="nofollow noreferrer">蜀ICP備2024075814號-6</a> </li> </ul> <script type="text/javascript"> const _webInfo = {Username: "admin", Type: "1", DateTime: "2015-06-28 00:00:00 +0800 CST", Id: "852"}; </script> <script type="text/javascript" src="https://sc.itmop.com/v1/pc/statics/js/wz.js"></script> <script type="text/javascript"> const pageClass = 7; //讀取文章人氣 ViewCmsHits('hits', parseInt('852')); $("#comment-list > dl > dd > p a:last-child").addClass("glBtn"); BindDing("#comment-list > dl > dd > p", parseInt('852'), 1);//頂 </script> <script type="application/ld+json"> { "@context": "https://zhanzhang.baidu.com/contexts/cambrian.jsonld", "@id": "/article/852.html", "appid": "否", "title": "初學(xué)ASP編程易犯的一個錯誤要注意-IT貓撲網(wǎng)", "images": [ "" ], "description": "在ASP編程中,身份認(rèn)證可以說是常要用到的。但怎么樣才能做到認(rèn)證的安全呢?&nbsp;&nbsp;&nbsp; 表單提交頁面:sub.htm &lt;html&gt; &nbsp;&nbsp;&nbsp; &lt;head&gt; &nbsp;&nbsp;&nbsp; &lt;title&gt;管理員登陸</title&gt; &nbsp;&nbsp;&nbsp; &lt;body&gt; &", "pubDate": "2015-06-28 00:00:00 +0800 CST", "upDate": "2015-06-28 00:00:00 +0800 CST" } </script> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.europeautoinsurance.com/" title="麻豆网站在线观看金瓶梅电影免费观看在线播放国产免费无遮挡吸乳视频亚洲国产精品18久久久久久">麻豆网站在线观看金瓶梅电影免费观看在线播放国产免费无遮挡吸乳视频亚洲国产精品18久久久久久</a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="2id1k" class="pl_css_ganrao" style="display: none;"><ruby id="2id1k"><input id="2id1k"><output id="2id1k"><menu id="2id1k"></menu></output></input></ruby><strong id="2id1k"><xmp id="2id1k"></xmp></strong><input id="2id1k"></input><code id="2id1k"></code><i id="2id1k"></i><tt id="2id1k"><pre id="2id1k"><sup id="2id1k"><i id="2id1k"></i></sup></pre></tt><del id="2id1k"></del><menuitem id="2id1k"><table id="2id1k"></table></menuitem><address id="2id1k"></address><object id="2id1k"><menuitem id="2id1k"></menuitem></object><menu id="2id1k"><progress id="2id1k"><s id="2id1k"><mark id="2id1k"></mark></s></progress></menu><tt id="2id1k"></tt><strong id="2id1k"><tfoot id="2id1k"><optgroup id="2id1k"></optgroup></tfoot></strong><th id="2id1k"></th><sup id="2id1k"><thead id="2id1k"><strong id="2id1k"><sub id="2id1k"></sub></strong></thead></sup><acronym id="2id1k"><li id="2id1k"><form id="2id1k"><small id="2id1k"></small></form></li></acronym><sub id="2id1k"><noscript id="2id1k"><address id="2id1k"></address></noscript></sub><track id="2id1k"><rt id="2id1k"><listing id="2id1k"></listing></rt></track><big id="2id1k"></big><label id="2id1k"></label><samp id="2id1k"></samp><acronym id="2id1k"><ul id="2id1k"><dl id="2id1k"></dl></ul></acronym><tr id="2id1k"></tr><bdo id="2id1k"><form id="2id1k"><small id="2id1k"><thead id="2id1k"></thead></small></form></bdo><xmp id="2id1k"></xmp><pre id="2id1k"><big id="2id1k"></big></pre><var id="2id1k"></var><meter id="2id1k"><th id="2id1k"></th></meter><tfoot id="2id1k"><optgroup id="2id1k"><dfn id="2id1k"></dfn></optgroup></tfoot><li id="2id1k"></li><strong id="2id1k"></strong><label id="2id1k"><tbody id="2id1k"><strong id="2id1k"></strong></tbody></label><label id="2id1k"><blockquote id="2id1k"><dl id="2id1k"><del id="2id1k"></del></dl></blockquote></label><object id="2id1k"><menuitem id="2id1k"></menuitem></object><font id="2id1k"></font><strong id="2id1k"><strike id="2id1k"><pre id="2id1k"></pre></strike></strong><dl id="2id1k"><em id="2id1k"></em></dl><th id="2id1k"><strong id="2id1k"></strong></th><form id="2id1k"></form><nobr id="2id1k"></nobr><samp id="2id1k"><listing id="2id1k"></listing></samp><abbr id="2id1k"><thead id="2id1k"></thead></abbr><td id="2id1k"></td><center id="2id1k"><legend id="2id1k"><button id="2id1k"></button></legend></center><legend id="2id1k"><button id="2id1k"><thead id="2id1k"><noframes id="2id1k"></noframes></thead></button></legend><dfn id="2id1k"></dfn><pre id="2id1k"></pre><address id="2id1k"></address><center id="2id1k"><pre id="2id1k"><sup id="2id1k"><i id="2id1k"></i></sup></pre></center><acronym id="2id1k"></acronym><button id="2id1k"><i id="2id1k"><pre id="2id1k"><strike id="2id1k"></strike></pre></i></button><source id="2id1k"><output id="2id1k"></output></source><tbody id="2id1k"><dfn id="2id1k"><pre id="2id1k"><optgroup id="2id1k"></optgroup></pre></dfn></tbody><bdo id="2id1k"></bdo><label id="2id1k"></label><center id="2id1k"><video id="2id1k"><blockquote id="2id1k"><nobr id="2id1k"></nobr></blockquote></video></center><option id="2id1k"></option><sup id="2id1k"><samp id="2id1k"><label id="2id1k"><ul id="2id1k"></ul></label></samp></sup><strong id="2id1k"><thead id="2id1k"></thead></strong><dl id="2id1k"><dfn id="2id1k"><tfoot id="2id1k"><optgroup id="2id1k"></optgroup></tfoot></dfn></dl><font id="2id1k"><small id="2id1k"><thead id="2id1k"></thead></small></font><button id="2id1k"></button><var id="2id1k"><delect id="2id1k"></delect></var><strike id="2id1k"><acronym id="2id1k"></acronym></strike><input id="2id1k"><meter id="2id1k"></meter></input><th id="2id1k"><tt id="2id1k"></tt></th><fieldset id="2id1k"><font id="2id1k"><strike id="2id1k"><b id="2id1k"></b></strike></font></fieldset><i id="2id1k"><pre id="2id1k"><style id="2id1k"></style></pre></i><td id="2id1k"></td><noframes id="2id1k"><big id="2id1k"></big></noframes><input id="2id1k"></input><legend id="2id1k"></legend><style id="2id1k"></style><tbody id="2id1k"></tbody><s id="2id1k"><samp id="2id1k"><label id="2id1k"></label></samp></s><pre id="2id1k"><tr id="2id1k"><label id="2id1k"><pre id="2id1k"></pre></label></tr></pre><optgroup id="2id1k"><strike id="2id1k"></strike></optgroup><dd id="2id1k"></dd><menu id="2id1k"></menu><ins id="2id1k"></ins><thead id="2id1k"><pre id="2id1k"><big id="2id1k"><em id="2id1k"></em></big></pre></thead><button id="2id1k"><input id="2id1k"><noframes id="2id1k"></noframes></input></button><u id="2id1k"><dl id="2id1k"></dl></u><ins id="2id1k"></ins><ul id="2id1k"></ul><label id="2id1k"><blockquote id="2id1k"><dl id="2id1k"></dl></blockquote></label><address id="2id1k"><bdo id="2id1k"><font id="2id1k"></font></bdo></address><style id="2id1k"><thead id="2id1k"></thead></style><sup id="2id1k"></sup><strong id="2id1k"></strong><style id="2id1k"><progress id="2id1k"></progress></style><dl id="2id1k"></dl><pre id="2id1k"></pre><legend id="2id1k"></legend><menuitem id="2id1k"><nobr id="2id1k"></nobr></menuitem><option id="2id1k"><legend id="2id1k"></legend></option><li id="2id1k"></li><acronym id="2id1k"></acronym><noscript id="2id1k"><acronym id="2id1k"><bdo id="2id1k"></bdo></acronym></noscript><em id="2id1k"></em></div> </html>