中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

網站是怎么防范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

柳河县| 苏尼特右旗| 绩溪县| 乌兰察布市| 沙坪坝区| 彝良县| 荔波县| 永兴县| 兴城市| 察哈| 莱州市| 乌鲁木齐市| 同仁县| 明光市| 永善县| 七台河市| 重庆市| 桐乡市| 谢通门县| 敦化市| 潮安县| 天等县| 墨玉县| 玛沁县| 克拉玛依市| 高碑店市| 调兵山市| 扎兰屯市| 菏泽市| 宜春市| 和林格尔县| 莆田市| 苗栗市| 双桥区| 仙居县| 科技| 屏山县| 萍乡市| 伊宁县| 如皋市| 临桂县|