• <tt id="oo84o"><table id="oo84o"></table></tt>
  • <li id="oo84o"></li>
     
    售房快車 售房客車 房屋租賃 牽線搭橋 供求信息 南陽人才網 文藝沙龍
     
    域名注冊 虛擬主機 云服務器 企業云郵箱 網站制作 網站推廣 無紙辦公 成功案例
       
    服務熱線:0377-63392646 13782137062
    虛擬主機  
    預防SQL注入漏洞函數-開網網絡學院
    · 網 絡 學 院
    ·友情鏈接 更多>>>
    標題:預防SQL注入漏洞函數

     

    僅僅代表我的觀點.不怕見笑.有問題請大家指教!我想如果你是牛人,那這個已經不是值得你看的內容,只是覺得對與很多剛入門的ASP程序員來說還是有點實際意義,所以不怕被大家笑話,寫了貼在這里!

     

    <%
    Function checkStr(str)

    if isnull(str) then

    checkStr = ""

    exit function

    end if

    checkStr=replace(str," ","")

    checkStr=replace(str,"'","'")

    checkStr=replace(str,";","'")

    checkStr=replace(str,"--","'")

    checkStr=replace(str,"(","'")

    checkStr=replace(str,"[","'")

    checkStr=replace(str,"$","'")

    end function

    %>


    相關函數
    Left(string, length)
     返回指定數目的從字符串的左邊算起的字符
     
    Asc(string)
     返回與字符串的第一個字母對應的 ANSI 字符代碼。
     
    Mid(string, start[, length])
     從字符串中返回指定數目的字符。
     
    ***********************************
    我自己的做法是把字符串限定在8個字符內,呵。ㄇf條數據啊,沒誰有這樣大的記錄吧?99,999,999呵!不夠用,才怪了!除非你的數據從來不更新刪出,那也沒辦法,問題是sql到了這樣的時會是怎么樣的速度)


    ---<%
    if len(request.querystring("ddd"))> 8 then
    response.write(黑我啊,不要了。少來)
    response.end '最好有這句

    '''初步是判斷是否是數字=======IsNumeric 函數
    if IsNumeric(request.querystring("ddd")) then

    Execute("select * from [table]")

    ....

    else

    response.write(黑我啊,不要了。少來)
    response.end '最好有這句

    %>

    當然了,加上上面的函數,在你的SQL過程里,效果就非常完美了!

    呵。!在變態點做個函數。

    ---<%
    Function checkStr(str)

    if isnull(str) then

    checkStr = ""

    exit function

    end if

    checkStr=replace(str," ","")

    checkStr=replace(str,"'","'")

    checkStr=replace(str,";","'")

    checkStr=replace(str,"--","'")

    checkStr=replace(str,"(","'")

    checkStr=replace(str,"[","'")

    checkStr=replace(str,"$","'")

    checkStr=replace(str,"asc'," ")

    checkStr=replace(str,"mid"," ")

    checkStr=replace(str,"delete"," ")

    checkStr=replace(str,"drop"," ")

    '''呵!我這里沒屏蔽select,count,哈!想起來我就笑,太變態了,那其不是我什么都不用了不是更更安全。。!呵!~^)^~
    end function

    %>


    足夠了,這個函數加載到sql選取記錄集的地方。
    如:rsql="select * from table where xxx="&checkstr(request.querystring("xxyy"))&""
    或者來就判斷字符串

    說的有點林亂,但是就是這些了,對于普通的"黑客"已經足夠他毫些時間了。但是對于老到的真正意義的黑客,這些都不是萬能的東西,人家連服務器都黑,你能怎么樣?嘿!

    看了些資料,結合自己的經驗,寫在這里。算是自己復習一下,看到的朋友也可以一起交流!

     

    點擊[5187]次  發布日期: 2007-3-26 21:40:20    發布人:中國開網
    :上一篇
      下一篇:

    返回首頁 |公司簡介 |開網招聘 |支付說明 |行業新聞 | 聯系方式 |客服中心| 相關咨詢|廣告服務 |郵箱登錄

    豫公網安備 41130302000019號


    豫ICP備2024042951號

    南陽市開網網絡技術有限公司

    業務專線: 1378217062

    總部地址: 河南省南陽市車站路146號新城百樂大廈13樓12室

    業務①QQ:401853676 客服①QQ:776288762 

    Email:xuejinfu@kyxxw.com  

    Copyright © 2026 南陽市開網網絡技術有限公司 ◇版權所有

    中國開網旗下網站:
    信息版:www.cannaramic.com 
    網絡版:www.kaiwang.wang
    CMAI人工智能平臺:www.cmai.cn
    開網PC手機微信APP小程序五合一網站
    RUAI儒家智慧平臺:www.ruai.cn
    促AI向善網:www.cuai.cn
     
  • <tt id="oo84o"><table id="oo84o"></table></tt>
  • <li id="oo84o"></li>
    国产欧美日韩综合 恭城| 通河县| 肇东市| 多伦县| 高雄市| 夏津县| 措勤县| 团风县| 庄浪县| 嘉善县| 彰化市| 莱阳市| 乐东| 乌拉特中旗| 佳木斯市| 馆陶县| 项城市| 金阳县| 肇庆市| 海林市| 台山市| 甘谷县| 马山县| 兴仁县| 罗城| 南漳县| 枣阳市| 乌兰察布市| 安庆市| 濉溪县| 贡觉县| 文昌市| 滕州市| 晋城| 玛多县| 武功县| 新丰县| 三都| 大英县| 东山县| 定结县| http://444 http://444 http://444