亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

網站是怎么防范SQL注入

發布時間:2021-12-21 11:54:46 來源:億速云 閱讀:142 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關網站是怎么防范SQL注入,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我們知道現在大部分網站的數據庫都是用的MYSQL,當網站出現如下方這樣的表單的時候,表單需要將數據錄入數據庫,但如果有個人非常熟悉MYSQL的語句,并且知道了表單的名稱(和列名稱),網站的擁有者并不注意這些的時候,那么他就可以輕松地注入。

網站是怎么防范SQL注入

如我的這個頁面中這個語句,就是非常容易收到攻擊的例子。

    網站是怎么防范SQL注入

為了方便解釋,我們把它簡化一下:

mysqli_query($conn,"insert into XXXX(pick_name) values ('$_POST[pickName]')");

我們知道,它是將表單傳過來的 pickName(對應表單中的 拾物名稱*) 參數傳遞到數據庫內的XXXX中的pick_name列里

但如果“用戶”知道我們的表單名稱,它輸入:value');Delect from XXXX;--

如此,整個語句變成了:

mysqli_query($conn,"insert into XXXX(pick_name) values ('value');Delect from XXXX;--')");

那么恭喜你,XXXX這個表就消失了。

于是如果我敢這么輸入的話,我也把自己的網站黑了。網站是怎么防范SQL注入

網站是怎么防范SQL注入

又比如php手冊中這個可怕的例子(MSSQL):

攻擊數據庫所在主機的操作系統(MSSQL Server)

<?php

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";

$result = mssql_query($query);

?>

如果攻擊提交 a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- 作為變量 $prod的值,那么 $query 將會變成

<?php

$query  = "SELECT * FROM products

                    WHERE id LIKE '%a%'

                    exec master..xp_cmdshell 'net user test testpass /ADD'--";

$result = mssql_query($query);

?>

MSSQL服務器會執行SQL的這條語句,添加了一個用戶,如此攻擊者將有可能獲得一個賬號訪問主機。

網站是怎么防范SQL注入

從上面大家也可以看到,SQL注入的關鍵就在于能否知道表的名稱,如果你還想弄一些小玩意兒,那你還得知道列名。這里和我們的題目無關就不再多講了。接下來講一下如何防范SQL注入。

常用的防范措施有兩種,一種是預處理語句、還有一種就是參數化查詢,這里我們講預處理語句。

$stmt = $conn->prepare('SELECT * FROM XXXX WHERE name = ?');  

$stmt->bind_param('s', $name);  

$stmt->execute();  

bind_param就是將$name變量捆綁進入?中.'s'的意思是$name所對應的變量必須是一個字符串,這樣我們就固定了它必須是一個字符串,它不能轉化為命令。從而使得SQL注入無效。

上述就是小編為大家分享的網站是怎么防范SQL注入了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

商洛市| 墨脱县| 肥西县| 藁城市| 浏阳市| 四会市| 汽车| 垣曲县| 闵行区| 芦溪县| 随州市| 平塘县| 古丈县| 桂东县| 红安县| 淮安市| 呼和浩特市| 伊宁县| 阜宁县| 大姚县| 墨脱县| 镇康县| 丹东市| 阜平县| 如皋市| 上蔡县| 白水县| 体育| 中阳县| 龙门县| 安乡县| 沙洋县| 桂阳县| 乡城县| 锡林浩特市| 常山县| 阳江市| 德化县| 太仆寺旗| 汉沽区| 阳高县|