国产三级韩国三级日产三级剧情_天天爱夜夜操_免费观看亚洲人成网站_超碰9999_精品伊人久久久大香线蕉天堂_深夜在线观看

18842388900

網(wǎng)站建設(shè) APP開發(fā) 小程序

Article/文章

記錄成長點(diǎn)滴 分享您我感悟

您當(dāng)前位置>首頁 > 知識(shí) > 網(wǎng)站建設(shè)

PHP開發(fā)不能違反的安全規(guī)則

您必須了解的有關(guān)Web應(yīng)用程序安全性的第一件事是您不應(yīng)該信任外部數(shù)據(jù)。外部數(shù)據(jù)包括程序員不直接在PHP代碼中輸入的任何數(shù)據(jù)。來自任何其他來源(例如GET變量,表單POST,數(shù)據(jù)庫,配置文件,會(huì)話變量或cookie)的任何數(shù)據(jù)都是不可信的,直到采取措施確保安全性為止。

例如,以下數(shù)據(jù)元素可以被認(rèn)為是安全的,因?yàn)樗鼈兪窃赑HP中設(shè)置的。

清單1.安全可靠的代碼$ myUsername='tmyer'; $ arrayarrayUsers=陣列( 'tmyer', '湯姆', '撬');定義( “問候語”, 'hellothere' $名為myUsername。);>

但是,以下數(shù)據(jù)元素存在缺陷。

清單2.不安全,有缺陷的代碼$ myUsername=$ _ POST ['username']; //受污染! $ arrayarrayUsers=陣列($名為myUsername, '湯姆', '撬'); //污點(diǎn)! define(“GREETING”,'hellothere'。$ myUsername); //污染了!>

為什么第一個(gè)變量$ myUsername有缺陷?因?yàn)樗苯觼碜訮OST表單。用戶可以在此輸入字段中輸入任何字符串,包括清除文件或運(yùn)行以前上載的文件的惡意命令。你可能會(huì)問,“難道你不能使用客戶端(Javascrīpt)表單驗(yàn)證腳本只接受字母AZ以避免這種危險(xiǎn)嗎?”是的,這總是一個(gè)很好的步驟,但正如你將在后面看到的那樣。任何人都可以將任何表單下載到他們自己的機(jī)器上,進(jìn)行修改,然后重新提交他們需要的任何內(nèi)容。

解決方案很簡單:您必須在$ _POST ['username']上運(yùn)行清理代碼。如果你不這樣做,那么在任何其他時(shí)候使用$ myUsername(例如在數(shù)組或常量中),你可以污染這些對(duì)象。清理用戶輸入的簡單方法是使用正則表達(dá)式來處理它。在此示例中,您只想接受字母。將字符串限制為特定數(shù)量的字符或者要求所有字母都是小寫也是一個(gè)好主意。

清單3.使用戶輸入安全$ myUsername=cleanInput($ _ POST ['username']); //干凈! $ arrayarrayUsers=陣列($名為myUsername, '湯姆', '撬'); //干凈! define(“GREETING”,'hellothere'。$ myUsername); //干凈! functioncleanInput($輸入){$=清潔用strtolower($輸入); $ clean=preg_replace(“/[^ az] /”,“”,$ clean $ clean=substr($ clean,0,12); return $ clean;}?>

規(guī)則 2:禁用那些使安全性難以實(shí)施的PHP設(shè)置

我已經(jīng)知道我不能信任用戶輸入,我應(yīng)該知道我不應(yīng)該相信我在我的機(jī)器上配置PHP的方式。例如,請(qǐng)務(wù)必禁用register_globals。如果啟用了register_globals,您可能會(huì)做一些粗心的事情,例如用$ variable替換同名的GET或POST字符串。通過禁用此設(shè)置,PHP會(huì)強(qiáng)制您在正確的命名空間中引用正確的變量。要使用POST形式的變量,您應(yīng)該引用$ _POST ['variable']。這不會(huì)將此特定變量誤解為cookie,會(huì)話或GET變量。

規(guī)則 3:如果不能理解它,就不能保護(hù)它

一些開發(fā)人員使用奇怪的語法,或者非常嚴(yán)格地組織語句以形成簡短但模糊的代碼。這種方法效率很高,但如果您不了解代碼的作用,則無法決定如何保護(hù)它。例如,您喜歡以下兩段代碼中的哪一段?

清單4.使代碼易于保護(hù)//obfuscatedcode $ input=(isset($ _ POST ['username'])?$ _ POST ['username']:“); //unobfuscatedcode $ input=''; if(isset($ _POST ['username'])){$ input=$ _ POST ['username']; } else {$ input=''; }

在第二個(gè)更清晰的代碼片段中,很容易看到$ input存在缺陷,需要在安全處理之前進(jìn)行清理。

規(guī)則 4:“縱深防御” 是新的法寶

本教程將使用示例說明如何在處理表單的PHP代碼中執(zhí)行必要步驟時(shí)保護(hù)聯(lián)機(jī)表單。同樣,即使您使用PHP正則表達(dá)式來確保GET變量是完全數(shù)字的,您仍然可以采取措施來確保SQL查詢使用轉(zhuǎn)義用戶輸入。深度防御不僅僅是一個(gè)好主意,它確保你不會(huì)陷入嚴(yán)重的麻煩。現(xiàn)在已經(jīng)討論了基本規(guī)則,讓我們來看看第一個(gè)威脅:SQL注入攻擊。

網(wǎng)站建設(shè),小程序開發(fā),小程序制作,微信小程序開發(fā),公眾號(hào)開發(fā),微信公眾號(hào)開發(fā),網(wǎng)頁設(shè)計(jì),網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計(jì),微信小程序設(shè)計(jì),小程序定制,微信小程序定制

相關(guān)案例查看更多

主站蜘蛛池模板: ww久久综合久中文字幕 | 亚洲成人综合在线 | 亚洲视频在线网站 | 91大神一区二区三区 | 91高清影院 | 日本亚洲色大成网站WWW | 中国少妇热妇xxxxxxxxx | 他揉捏她两乳不停呻吟小视频 | 自慰无码一区二区三区 | 国产一级a爱片在线观看视 黄色毛片免费进入 | 北条麻妃在线免费观看 | 久久大屁股少妇 | 精品毛片视频 | 小妖精又紧又湿高潮H视频69 | 国产精品美女久久久久av爽金牛 | 色久视频在线播放 | 出差我被公高潮A片久久 | 后入内射欧美99二区视频 | 国产亚洲一区二区三区在线 | 青青草综合在线 | 久久久久日韩精品久久久男男 | 日韩人妻无码AV一区二区三区 | 精品一区二区三区免费视频 | 精品资源成人 | 福利三区 | 久久精品2 | www日 | 精品少妇久久久久久888优播 | 天无日天天射天天视 | 亚洲精品一区二区在线观看 | 日韩精品一区国产麻豆 | 91精品一区二区三区久久久久 | 国产精品久久片 | 亚洲欧洲无码一区二区三区 | 日本一及片 | 暗夜在线观看 | 国产乱码精品一区二区三区手机版 | 久久密一区二区三区 | 激情婷婷开心五月综合 | AV导航第一福利网 | 成年人免费观看在线 |