區別一:

addslashes不知道任何有關MySQL連接的字符集。如果你給所使用的MySQL " /> 欧洲馒头大肥p,最美白嫩的极品美女ASSPICS,最新黄yyid

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP函數addslashes和mysql_real_escape_string的區別

首先:不要使用mysql_escape_string,它已被棄用,請使用mysql_real_escape_string代替它。

mysql_real_escape_string和addslashes的區別在于:

區別一:

addslashes不知道任何有關MySQL連接的字符集。如果你給所使用的MySQL連接傳遞一個包含字節編碼之外的其他編碼的字符串,它會很愉快地把所有值為字符‘、“、/和/x00的字節進行轉義。如果你正在使用不同于8位和UTF-8的其它字符,這些字節的值不一定全部都是表示字符‘、“、/和/x00。可能造成的結果是,MySQL接收這些字符后出現錯誤。

如果要修正這個bug,可嘗試使用iconv函數,將變量轉為UTF-16,然后再使用addslashes進行轉義。

這是不使用addslashes進行轉義的原因之一。

區別二:

與addslashes對比,mysql_real_escape_string同時還對/r、/n和/x1a進行轉義。看來,這些字符必須正確地告訴MySQL,否則會得到錯誤的查詢結果。

這是不使用addslashes進行轉義的另一個原因。

addslashes V.S. mysql_real_escape_string

在GBK里,0xbf27不是一個合法的多字符字符,但0xbf5c卻是。在單字節環境里,0xbf27被視為0xbf后面跟著0×27(‘),同時0xbf5c被視為0xbf后面跟著0x5c(/)。

一個用反斜杠轉義的單引號,是無法有效阻止針對MySQL的SQL注入攻擊的。如果你使用addslashes,那么,我(攻擊者,下同)是很幸運的。我只要注入一些類似0xbf27,然后addslashes將它修改為0xbf5c27,一個合法的多字節字符后面接著一個單引號。換句話說,我可以無視你的轉義,成功地注入一個單引號。這是因為0xbf5c被當作單字節字符,而非雙字節。

在這個演示中,我將使用MySQL 5.0和php的mysqli擴展。如果你想嘗試,請確保你使用GBK。

創建一個名為users的表:
復制代碼 代碼如下:
CREATE TABLE users(
 username VARCHAR(32) CHARACTER SET GBK,
 password VARCHAR(32) CHARACTER SET GBK,
 PRIMARY KEY(username)
);
下面的代碼模擬只使用addslashes(或magic_quotes_gpc)對查詢數據進行轉義時的情況:
復制代碼 代碼如下:
<?php
$mysql = array();
$db = mysqli_init();
$db->real_connect('localhost', 'lorui', 'lorui.com', 'lorui_db');
/* SQL注入示例 */
$_POST['username'] = chr(0xbf) . chr(0×27) . ‘ OR username = username /*'; $_POST['password'] = ‘guess'; $mysql['username'] = addslashes($_POST['username']); $mysql['password'] = addslashes($_POST['password']); $sql = “SELECT * FROM users WHERE username = ‘{$mysql['username']}' AND password = ‘{$mysql['password']}'”; $result = $db->query($sql); if ($result->num_rows) { /* 成功 */ } else { /* 失敗 */ }

盡管使用了addslashes,我還是可以在不知道用戶名和密碼的情況下成功登錄。我可以輕松的利用這個漏洞進行SQL注入。

要以免這種漏洞,使用mysql_real_escape_string、準備語句(Prepared Statements,即“參數化查詢”)或者任意一款主流的數據庫抽象類庫。

php技術PHP函數addslashes和mysql_real_escape_string的區別,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品无码国产污污污免费网站2 | 阿v天堂2017在无码 | 久久久久久久久免费视频 | 含羞草传媒在线观看 | 亚洲国产中文字幕在线视频 | 让男人玩尿道的女人 | 麻豆精品一区二正一三区 | 男人的天堂MV在线视频免费观看 | 国产精品成人免费视频99 | 日韩精品熟女一区二区三区中文 | 高H内射NP古文 | 777米奇影院第七色色 | 老师那里好大又粗h男男 | 啪啪羞羞GIF男女0OXX动态图 | 日本精品久久久久中文字幕 1 | 99精品无码AV在线播放 | 中文字幕亚洲综合小综合在线 | 亚洲人成网站在线播放 | 欧美成人中文字幕在线看 | 嗯啊不要老师 | 免费看毛片的网址 | 亚洲AV久久无码精品国产网站 | 久久精品亚洲热综合一本 | 色综合久久88色综合天天提莫 | 国产精品自在在线午夜精品 | 亚洲成人免费观看 | 99国产强伦姧在线看RAPE | 亚洲精品福利一区二区在线观看 | 狠狠色狠狠色综合 | 伦理片在线线看手机版 | chinese东北夫妻video | sm主人调教揉花蒂H SM双性精跪趴灌憋尿调教H | xxx性欧美在线观看 xxx性欧美在线 | 欧美激情一区二区三区四区 | 99久视频只有精品2019 | 依恋影院在线观看 | 中国国产不卡视频在线观看 | 国产成人久久精品AV | 久久中文字幕无码A片不卡 久久中文字幕人妻熟AV女蜜柚M | 性与肉体电影免费观看 | 国产精品手机在线视频 |