亚洲天堂色av_香蕉黄色一级片_蜜臀av网站_国产足控福利视频一区_久久av伊人_av网址在线

18842388900

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

Article/文章

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

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

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

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

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

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

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

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

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

解決方案很簡(jiǎn)單:您必須在$ _POST ['username']上運(yùn)行清理代碼。如果你不這樣做,那么在任何其他時(shí)候使用$ myUsername(例如在數(shù)組或常量中),你可以污染這些對(duì)象。清理用戶輸入的簡(jiǎn)單方法是使用正則表達(dá)式來(lái)處理它。在此示例中,您只想接受字母。將字符串限制為特定數(shù)量的字符或者要求所有字母都是小寫(xiě)也是一個(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字符串。通過(guò)禁用此設(shè)置,PHP會(huì)強(qiáng)制您在正確的命名空間中引用正確的變量。要使用POST形式的變量,您應(yīng)該引用$ _POST ['variable']。這不會(huì)將此特定變量誤解為cookie,會(huì)話或GET變量。

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

一些開(kāi)發(fā)人員使用奇怪的語(yǔ)法,或者非常嚴(yán)格地組織語(yǔ)句以形成簡(jiǎn)短但模糊的代碼。這種方法效率很高,但如果您不了解代碼的作用,則無(wú)法決定如何保護(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:“縱深防御” 是新的法寶

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

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

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

主站蜘蛛池模板: 亚洲视频一区在线 | 欧美黑人xxxxx又粗又长动态 | 丰满人妻熟妇乱又伦精品软件 | gogo在线视频 | 欧洲美女黑人粗性暴交视频 | 在线视频这里只有精品 | 精品人妻无码一区二区三区G | 久久影院污 | 啪啪免费观看 | 久久九精品 | 黄瓜影院污 | 夜夜躁人人爽天天天天大学生 | 亚洲欧洲日本无在线码 | 日本精品在线观看视频 | 巨乳女教师在线观看 | 一级黄色免费 | 伊人网在线综合 | 国产00高中生在线无套进入 | 一区国产视频 | 国产精品久久久久久久一区探花 | 妮可·基德曼三级合集hd播放 | 一级片免费的 | ww久久中文字幕 | 91国语精品自产拍 | 日韩欧美大陆 | 喜欢你我也是第四季免费观看 | 欧美日韩国产一二 | 国产欧美精品国产国产专区 | 五月网婷婷 | 初尝黑人嗷嗷叫中文字幕 | 女人16毛片a级毛片成年 | 国产亚洲精品av | 啊啊啊免费在线观看 | 天堂网久久 | 日韩中文字幕1 | 久久久久久久久久久久免费 | 激情综合一区 | 熟女体下毛荫荫黑森林 | 日本xxxx网站 | 亚洲一区在线曰日韩在线 | 国产欧美呀洲一区二区 |