<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        淺析MySQL的注入安全問題

        來源:懂視網 責編:小采 時間:2020-11-09 21:00:20
        文檔

        淺析MySQL的注入安全問題

        淺析MySQL的注入安全問題:如果把用戶輸入到一個網頁,將其插入到MySQL數據庫,有機會離開了發生安全問題被稱為SQL注入敞開。這一課將教如何幫助防止這種情況的發生,并幫助保護腳本和MySQL語句。 注入通常發生在處理一個用戶輸入,如他們的名字,而不是一個名字,他們給一個會在不知不
        推薦度:
        導讀淺析MySQL的注入安全問題:如果把用戶輸入到一個網頁,將其插入到MySQL數據庫,有機會離開了發生安全問題被稱為SQL注入敞開。這一課將教如何幫助防止這種情況的發生,并幫助保護腳本和MySQL語句。 注入通常發生在處理一個用戶輸入,如他們的名字,而不是一個名字,他們給一個會在不知不

        如果把用戶輸入到一個網頁,將其插入到MySQL數據庫,有機會離開了發生安全問題被稱為SQL注入敞開。這一課將教如何幫助防止這種情況的發生,并幫助保護腳本和MySQL語句。

        注入通常發生在處理一個用戶輸入,如他們的名字,而不是一個名字,他們給一個會在不知不覺中你的數據庫上運行的MySQL語句。

        永遠不要信任用戶提供的數據,只能驗證后處理這些數據,作為一項規則,這是通過模式匹配。在下面的例子中,用戶名被限制為字母數字字符加下劃線的長度在8到20個字符之間 - 根據需要修改這些規則。

        if (preg_match("/^\w{8,20}$/", $_GET['username'], $matches))
        {
         $result = mysql_query("SELECT * FROM users 
         WHERE username=$matches[0]");
        }
         else 
        {
         echo "username not accepted";
        }
        
        

        為了說明這個問題,認為這是摘要:

        // supposed input
        $name = "Qadir'; DELETE FROM users;";
        mysql_query("SELECT * FROM users WHERE name='{$name}'");
        
        

        函數調用應該是從用戶表中的名稱列的名稱相匹配用戶指定的檢索記錄。在正常情況下,名稱只包含字母數字字符或空間,如字符串髂骨。但在這里,給$name通過附加一個全新的查詢,調用數據庫變成災難:注入DELETE查詢刪除用戶的所有記錄。

        幸運的是,如果使用MySQL,在mysql_query()函數不會允許查詢堆疊,或在一個單一的函數調用執行多個查詢。如果嘗試到堆放查詢則調用失敗。

        其他PHP數據庫擴展,如SQLite和PostgreSQL則愉快地進行堆查詢,執行在一個字符串中的所有的查詢,并創建一個嚴重的安全問題。
        防止SQL注入:

        可以處理所有的轉義字符巧妙的腳本語言,比如Perl和PHP。 PHP的MySQL擴展提供的函數mysql_real_escape_string()輸入到MySQL的特殊字符進行轉義。

        if (get_magic_quotes_gpc()) 
        {
         $name = stripslashes($name);
        }
        $name = mysql_real_escape_string($name);
        mysql_query("SELECT * FROM users WHERE name='{$name}'");
        
        

        LIKE困境:

        為了解決的LIKE問題,一個自定義的轉義機制必須用戶提供的%和_字符轉換成文字。使用addcslashes()函數,讓可以指定一個字符范圍轉義。

        $sub = addcslashes(mysql_real_escape_string("%something_"), "%_");
        // $sub == \%something\_
        mysql_query("SELECT * FROM messages WHERE subject LIKE '{$sub}%'");
        
        


        您可能感興趣的文章:

      1. Python操作sqlite3快速、安全插入數據(防注入)的實例
      2. PHP開發中常見的安全問題詳解和解決方法(如Sql注入、CSRF、Xss、CC等)
      3. PHP的SQL注入實現(測試代碼安全不錯)
      4. 詳解SQL注入--安全(二)
      5. 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        淺析MySQL的注入安全問題

        淺析MySQL的注入安全問題:如果把用戶輸入到一個網頁,將其插入到MySQL數據庫,有機會離開了發生安全問題被稱為SQL注入敞開。這一課將教如何幫助防止這種情況的發生,并幫助保護腳本和MySQL語句。 注入通常發生在處理一個用戶輸入,如他們的名字,而不是一個名字,他們給一個會在不知不
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产91色综合久久免费| 久久免费视频99| 永久中文字幕免费视频网站| 婷婷久久久亚洲欧洲日产国码AV | 久久久久久国产精品免费免费男同 | 亚洲香蕉免费有线视频| 亚洲黄色中文字幕| 在线精品一卡乱码免费| 亚洲精品无码专区久久| 亚洲?V无码乱码国产精品| 人人爽人人爽人人片A免费| 亚洲国产精品一区二区三区久久| 一级毛片不卡免费看老司机| 在线观看亚洲天天一三视| 黄页免费在线观看| 亚洲国产日产无码精品| 在线观看亚洲免费视频| 久久WWW免费人成—看片| 综合自拍亚洲综合图不卡区| 韩国免费一级成人毛片| 偷自拍亚洲视频在线观看99| 国产偷国产偷亚洲高清日韩| 一区二区在线免费观看| 亚洲国产日韩精品| 亚洲乱亚洲乱少妇无码| 一区二区三区福利视频免费观看| 精品久久亚洲中文无码| 国产aa免费视频| 国产99视频精品免费专区| 91午夜精品亚洲一区二区三区| 国产在线观看www鲁啊鲁免费| 你懂的网址免费国产| 亚洲av乱码一区二区三区| 又粗又硬又黄又爽的免费视频| 成人免费一区二区三区| 亚洲白嫩在线观看| 亚洲一级特黄大片无码毛片| 91禁漫免费进入| 黄网站色成年片大免费高清| 亚洲成色999久久网站| 国产精品嫩草影院免费|