第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

php如何防止sql注入

php如何防止sql注入

PHP
12345678_0001 2019-04-09 05:04:57
php如何防止sql注入
查看完整描述

4 回答

?
開(kāi)心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

select ,insert,update,delete,and,*等或通過(guò)系統(tǒng)函數(shù)addslashes對(duì)內(nèi)容進(jìn)行過(guò)濾
php配置文件中register_globals=off;設(shè)置為關(guān)閉狀態(tài).(作用將注冊(cè)全局變量關(guān)閉);如接收POST表單的值使用$_POST['user'],假設(shè)設(shè)置為ON的話$user才接收值
sql語(yǔ)句書(shū)寫(xiě)的時(shí)候盡量不要省略小引號(hào)(tab上面那個(gè))和單引號(hào)
提高數(shù)據(jù)庫(kù)命名技巧,對(duì)于一些重要的字段根據(jù)程序的特點(diǎn)命名,使之不易被猜中
對(duì)于常的方法加以封裝,避免直接暴漏SQL語(yǔ)句
開(kāi)啟PHP安全模式safe_mode=on
打開(kāi)magic_quotes_gpc來(lái)防止SQL注入,默認(rèn)為關(guān)閉,開(kāi)啟后自動(dòng)把用戶提交sql查詢語(yǔ)句進(jìn)行轉(zhuǎn)換把"'"轉(zhuǎn)換成"\'"
控制錯(cuò)誤信息輸出,關(guān)閉錯(cuò)誤信息提示,將錯(cuò)誤信息寫(xiě)到系統(tǒng)日志
使用MYSQLI或PDO預(yù)處理

查看完整回答
反對(duì) 回復(fù) 2019-04-10
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果是字符串類(lèi)型:addslashes() 這個(gè)函數(shù),轉(zhuǎn)義單雙引號(hào);
如果接收的參數(shù)屬于整數(shù)型(id之類(lèi)):intval() 直接取出數(shù)字,丟棄后邊的非數(shù)字字符;
或者使用PDO預(yù)處理語(yǔ)句,綁定參數(shù)的方式防止SQL注入。

查看完整回答
反對(duì) 回復(fù) 2019-04-10
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

  1. 廢棄plain SQL ,強(qiáng)制使用參數(shù)化查詢(并且是上述的真?參數(shù)化查詢)這其實(shí)沒(méi)有解決任何問(wèn)題,首先,使用plain SQL的需求是真實(shí)存在的,當(dāng)然我們假設(shè)可以通過(guò)空的參數(shù)列表來(lái)變相進(jìn)行plain SQL的查詢,那這和plain SQL又有何區(qū)別,其次,參數(shù)化查詢?nèi)匀皇怯伞皫?shù)的SQL”和參數(shù)列表兩部分組成的,無(wú)法識(shí)別和避免程序員在第一部分采用拼接

  2. 完全拋棄SQL,提供結(jié)構(gòu)化的接口,例如類(lèi)似select(tableName, fields, condition)這種機(jī)制這會(huì)使得接口異常復(fù)雜,且不一定應(yīng)付得了復(fù)雜查詢,想想LINQ




查看完整回答
反對(duì) 回復(fù) 2019-04-10
?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊

這個(gè)方法比較多,這里簡(jiǎn)單舉個(gè)例子:

提交的變量中所有的 ' (單引號(hào)), " (雙引號(hào)), \ (反斜線) and 空字符會(huì)自動(dòng)轉(zhuǎn)為含有反斜線的轉(zhuǎn)義字符,給SQL注入帶來(lái)不少的麻煩。

 

請(qǐng)看清楚:“麻煩”而已~這并不意味著PHP防范SQL注入,書(shū)中就講到了利用改變注入語(yǔ)句的編碼來(lái)繞過(guò)轉(zhuǎn)義的方法,比如將SQL語(yǔ)句轉(zhuǎn)成ASCII編碼(類(lèi)似:char(100,58,92,108,111,99,97,108,104,111,115,116…)這樣的格式),或者轉(zhuǎn)成16進(jìn)制編碼,甚至還有其他形式的編碼,這樣以來(lái),轉(zhuǎn)義過(guò)濾便被繞過(guò)去了

// 去除轉(zhuǎn)義字符   

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function stripslashes_array($array) {

    if (is_array($array)) {

        foreach ($array as $k => $v) {

            $array[$k] = stripslashes_array($v);

        }

    } 

    else if (is_string($array)) {

        $array = stripslashes($array);  

    }   return $array;  

}   

@set_magic_quotes_runtime(0);   // 判斷 magic_quotes_gpc 狀態(tài)   

if (@get_magic_quotes_gpc()) { 

    $_GET = stripslashes_array($_GET);

    $_POST = stripslashes_array($_POST);

    $_COOKIE = stripslashes_array($_COOKIE);   

}

PHP防范SQL注入的代碼

 

1

2

3

$keywords = addslashes($keywords); $keywords = 

str_replace("_","\_",$keywords);//轉(zhuǎn)義掉”_” $keywords = 

str_replace("%","\%",$keywords);//轉(zhuǎn)義掉”%”



 


查看完整回答
反對(duì) 回復(fù) 2019-04-10
  • 4 回答
  • 0 關(guān)注
  • 679 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)