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

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

用PHP清理用戶輸入的最佳方法是什么?

用PHP清理用戶輸入的最佳方法是什么?

PHP
開(kāi)滿天機(jī) 2019-05-22 15:03:34
用PHP清理用戶輸入的最佳方法是什么?是否有一個(gè)catchall函數(shù)適用于清理SQL注入和XSS攻擊的用戶輸入,同時(shí)仍允許某些類型的html標(biāo)記?
查看完整描述

5 回答

?
慕桂英3389331

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

這是一種常見(jiàn)的誤解,即用戶輸入可以被過(guò)濾。PHP甚至還有一個(gè)(現(xiàn)已棄用的)“功能”,稱為魔術(shù)引號(hào),它建立在這個(gè)想法的基礎(chǔ)之上。這是胡說(shuō)八道。忘記過(guò)濾(或清潔,或任何人稱之為)。

為了避免出現(xiàn)問(wèn)題,你應(yīng)該做的很簡(jiǎn)單:每當(dāng)你在外國(guó)代碼中嵌入一個(gè)字符串時(shí),你必須根據(jù)該語(yǔ)言的規(guī)則來(lái)逃避它。例如,如果在某些SQL目標(biāo)MySql中嵌入字符串,則必須為此目的使用MySql函數(shù)轉(zhuǎn)義字符串(mysqli_real_escape_string)。(或者,對(duì)于數(shù)據(jù)庫(kù),如果可能,使用預(yù)處理語(yǔ)句是更好的方法)

另一個(gè)例子是HTML:如果在HTML標(biāo)記中嵌入字符串,則必須使用它進(jìn)行轉(zhuǎn)義htmlspecialchars。這意味著每個(gè)單詞echoprint語(yǔ)句都應(yīng)該使用htmlspecialchars。

第三個(gè)例子可能是shell命令:如果你要將字符串(例如參數(shù))嵌入到外部命令中,并用它們調(diào)用它們exec,那么你必須使用escapeshellcmdescapeshellarg。

等等等等 ...

您需要主動(dòng)過(guò)濾數(shù)據(jù)的唯一情況是,您是否接受預(yù)先格式化的輸入。例如。如果您允許用戶發(fā)布HTML標(biāo)記,那么您計(jì)劃在網(wǎng)站上顯示該標(biāo)記。但是,你應(yīng)該不惜一切代價(jià)避免這種情況,因?yàn)闊o(wú)論你如何過(guò)濾它,它總是一個(gè)潛在的安全漏洞。


查看完整回答
反對(duì) 回復(fù) 2019-05-22
?
慕無(wú)忌1623718

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

不可以。如果沒(méi)有任何上下文,您無(wú)法對(duì)數(shù)據(jù)進(jìn)行一般過(guò)濾。有時(shí)您想要將SQL查詢作為輸入,有時(shí)您希望將HTML作為輸入。

您需要過(guò)濾白名單上的輸入 - 確保數(shù)據(jù)符合您期望的某些規(guī)范。然后,您需要在使用它之前將其轉(zhuǎn)義,具體取決于您使用它的上下文。

轉(zhuǎn)義SQL數(shù)據(jù)的過(guò)程 - 防止SQL注入 - 與轉(zhuǎn)換(X)HTML數(shù)據(jù)的過(guò)程非常不同,以防止XSS。


查看完整回答
反對(duì) 回復(fù) 2019-05-22
?
慕田峪9158850

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

不,那里沒(méi)有。

首先,SQL注入是一個(gè)輸入過(guò)濾問(wèn)題,XSS是一個(gè)輸出轉(zhuǎn)義問(wèn)題 - 所以你甚至不會(huì)在代碼生命周期中同時(shí)執(zhí)行這兩個(gè)操作。

基本的經(jīng)驗(yàn)法則

  • 對(duì)于SQL查詢,綁定參數(shù)(與PDO一樣)或?qū)Σ樵冏兞渴褂抿?qū)動(dòng)程序本機(jī)轉(zhuǎn)義函數(shù)(例如mysql_real_escape_string()

  • 使用strip_tags()過(guò)濾掉不需要的HTML

  • htmlspecialchars()在此處轉(zhuǎn)義所有其他輸出并注意第二和第三參數(shù)。


查看完整回答
反對(duì) 回復(fù) 2019-05-22
  • 5 回答
  • 0 關(guān)注
  • 655 瀏覽

添加回答

舉報(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)