日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

中國最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

sql教程

SQL 教程

SQL 高級教程

SQL 函數(shù)

  • SQL 主機
  • SQL 總結
  • 實例/測驗

    拓展閱讀

    SQL 注入

    閱讀 (2123)

    SQL 注入

    如果你從網(wǎng)頁中獲取用戶輸入,并將其插入到 SQL 數(shù)據(jù)庫中的話,那么你很可能已經(jīng)暴露于一種被稱作 SQL 注入的安全風險之下了。

    本節(jié)將會教你如何防止 SQL 注入,以及如何保護 Perl 這樣的服務器端腳本中的程序和 SQL 語句。

    注入通常發(fā)生在獲取用戶輸入的時候,例如預期得到用戶的名字,但是得到的卻是一段很可能會在你不知情的情況下運行的 SQL 語句。

    絕對不要相信用戶提供的數(shù)據(jù),處理這些數(shù)據(jù)之前必須進行驗證;通常,驗證工作由模式匹配來完成。

    下面的例子中,name 僅限由字母、數(shù)字和下劃線組成,并且長度在 8 到 20 之間(你可以根據(jù)需要修改這些規(guī)則)。

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

    為了展示問題所在,請考慮下面這段代碼:

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

    下面的函數(shù)調(diào)用本來是要從 CUSTOMERS 表中取得 name 字段與用戶給定的輸入相匹配的記錄。通常情況下,$name 只包含字母和數(shù)字,或許還有空格,例如字符串 ilia。但是,這里通過在 $name 上附加一段全新的查詢語句,將原有的函數(shù)調(diào)用變?yōu)榱藬?shù)據(jù)庫的災難:注入的 DELETE 語句將會刪除表中所有的記錄。

    幸運的是,如果你在使用 MySQL 的話,mysql_query() 函數(shù)不允許查詢堆積(query stacking),或者說在一次函數(shù)調(diào)用中執(zhí)行多次 SQL 查詢。如果你試圖進行堆積式查詢的話,函數(shù)調(diào)用將會失敗。

    然而,其他的 PHP 數(shù)據(jù)庫擴展,例如 SQLite 和 PostgreSQL 會愉快地接受堆積式查詢,執(zhí)行字符串中所有的查詢,并由此產(chǎn)生嚴重的安全問題。

    阻止 SQL 注入:

    你可以在 Perl 或者 PHP 等腳本語言中巧妙地處理所有的轉義字符。PHP 的 MySQL 擴展提供了一個 mysql_real_escape_string() 函數(shù),來轉義那些對 MySQL 有特殊意義的字符。

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

    LIKE 困境:

    要破解 LIKE 困境,必須有一種專門的轉義機制,將用戶提供的 '%' 和 '_' 轉換為字面值。為此你可以使用 addcslashes() 函數(shù),該函數(shù)允許指定要進行轉義的字符的范圍。

    $sub = addcslashes(mysql_real_escape_string("%str"), "%_");
    // $sub == \%str\_
    mysql_query("SELECT * FROM messages 
                 WHERE subject LIKE '{$sub}%'");
    關閉
    程序員人生
    主站蜘蛛池模板: 成人精品国产免费网站 | 日本一区二区在线视频 | 日韩毛片在线观看 | 欧美日本韩国一区二区三区 | 亚洲成在线| 成人欧美一区二区三区在线播放 | 91国内精品久久 | 欧美精品福利在线 | 香蕉视频啊啊啊 | 国产精品伦一区二区三级视频 | 国产精品福利一区 | 国产精品免费网站 | 免费看国产片在线观看 | 久久成人免费网 | 成人中文视频 | 污污网站免费观看 | 日韩欧美小视频 | 欧美国产日韩在线观看 | 国产精品国产亚洲精品看不卡15 | 国产在线播放一区 | 久久成人免费网 | 久久国产精品二区 | 99久久99九九99九九九 | 久久一级| 国产尤物av尤物在线观看臀 | 最新日韩在线观看 | av网站观看| 黄色成人在线视频 | 91精品国产高清 | 国产在视频线在精品视频55 | 午夜免费激情 | 国产伦精品一区二区三区在线 | 久久男人 | 国产精品性 | 国产在线二区 | 91精品国产欧美一区二区 | 欧美一区1区三区3区公司 | 国产精品国产三级国产 | 日韩视频一区二区 | 国产一区二区三区免费看 | 三及毛片 |