版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1PHP安全及性能優(yōu)化2本周內(nèi)容vPHP安全vPHP性能優(yōu)化3PHP安全v輸入驗(yàn)證v跨站點(diǎn)腳本阻止vSQL注入v代碼注入v命令注入vSession安全v文件訪問安全v沙盒4輸入驗(yàn)證v輸入驗(yàn)證v正則表達(dá)式vSanitizing 和 Logical過濾器v清理輸入字符串5跨站點(diǎn)腳本攻擊阻止v拒絕特殊字符v利用HTTP-only Cookie解決XSSv使用filter_xss()阻止跨站點(diǎn)腳本攻擊6SQL注入v引號(hào)使用v預(yù)編譯語句vLike使用vSQL錯(cuò)誤處理v其它風(fēng)險(xiǎn)7代碼注入v路徑校驗(yàn)v使用全路徑v避免動(dòng)態(tài)路徑v驗(yàn)證文件名v其它代碼注入風(fēng)險(xiǎn)8命令注入v通過命令注入使資源衰竭v路徑使用v隱含威脅
2、9Session安全v服務(wù)器端的弱點(diǎn)vURL SessionvSession鼓動(dòng)v本地保護(hù)機(jī)制v服務(wù)器端過期機(jī)制v加密Session超出v基于IP的驗(yàn)證10文件訪問安全v加密讀權(quán)限v加密寫權(quán)限v上載文件現(xiàn)值v文件前面v安全模式vPHP編碼v根目錄管理11沙盒v使用沙盒誤導(dǎo)攻擊v編譯沙盒vIP地址限制v路由信息12PHP性能優(yōu)化vPHP代碼人工優(yōu)化v使用優(yōu)化工具優(yōu)化代碼v頁面文件壓縮輸出vMysql緩存優(yōu)化配置v數(shù)據(jù)庫優(yōu)化13PHP代碼人工優(yōu)化(一)v方法可靜態(tài)化,速率可提升至 4 倍v使用echo而不是printv使用 echo 的多重參數(shù),而不是字符串連接。v便利數(shù)組時(shí)foreach比whi
3、le大約快20%-30%左右。v注銷那些不用的變量尤其是大數(shù)組,以便釋放內(nèi)存。v盡量避免使用 _get,_set,_autoload。v在包含文件時(shí)使用完整路徑,解析操作系統(tǒng)路徑所需的時(shí)間會(huì)更少。v函數(shù)代替正則表達(dá)式完成相同功能14PHP代碼人工優(yōu)化(二)v使用選擇分支語句(譯注:即 switch case)好于使用多個(gè) if,else if 語句。v用 屏蔽錯(cuò)誤消息的做法非常低效。 v打開 apache 的 mod_deflate 模塊。v數(shù)據(jù)庫連接當(dāng)使用完畢時(shí)應(yīng)關(guān)掉。v$rowid 的效率是 $rowid 的 7 倍。v錯(cuò)誤消息代價(jià)昂貴。v盡量不要在 for 循環(huán)中使用函數(shù),比如 for(
4、$x=0; $x prop+)要比遞增一個(gè)局部變量慢 3 倍。v遞增一個(gè)未預(yù)定義的局部變量要比遞增一個(gè)預(yù)定義的局部變量慢 9 至 10 倍。v僅定義一個(gè)局部變量而沒在函數(shù)中調(diào)用它,同樣會(huì)減慢速度(其程度相當(dāng)于遞增一個(gè)局部變量)。PHP 大概會(huì)檢查看是否存在全局變量。16PHP代碼人工優(yōu)化(四)v 方法調(diào)用看來與類中定義的方法的數(shù)量無關(guān),因?yàn)槲遥ㄔ跍y試方法之前和之后都)添加了 10 個(gè)方法,但性能上沒有變化。v 派生類中的方法運(yùn)行起來要快于在基類中定義的同樣的方法。v 調(diào)用帶有一個(gè)參數(shù)的空函數(shù),其花費(fèi)的時(shí)間相當(dāng)于執(zhí)行 7 至 8 次的局部變量遞增操作。類似的方法調(diào)用所花費(fèi)的時(shí)間接近于 15 次的
5、局部變量遞增操作。v 用單引號(hào)代替雙引號(hào)來包含字符串,這樣做會(huì)更快一些。因?yàn)?PHP 會(huì)在雙引號(hào)包圍的字符串中搜尋變量,單引號(hào)則不會(huì)。當(dāng)然,只有當(dāng)你不需要在字符串中包含變量時(shí)才可以這么做。v 輸出多個(gè)字符串時(shí),用逗號(hào)代替句點(diǎn)來分隔字符串,速度更快。注意:只有 echo 能這么做,它是一種可以把多個(gè)字符串當(dāng)作參數(shù)的“函數(shù)”(譯注:PHP 手冊中說 echo 是語言結(jié)構(gòu),不是真正的函數(shù),故把函數(shù)加上了雙引號(hào))。17PHP代碼人工優(yōu)化(五)v Apache 解析一個(gè) PHP 腳本的時(shí)間要比解析一個(gè)靜態(tài) HTML 頁面慢 2 至 10 倍。盡量多用靜態(tài) HTML 頁面,少用腳本。v 除非腳本可以緩存,
6、否則每次調(diào)用時(shí)都會(huì)重新編譯一次。引入一套PHP緩存機(jī)制通??梢蕴嵘?25% 至 100% 的性能,以免除編譯開銷。v 盡量做緩存,可使用 memcached。memcached 是一款高性能的內(nèi)存對象緩存系統(tǒng),可用來加速動(dòng)態(tài) Web 應(yīng)用程序,減輕數(shù)據(jù)庫負(fù)載。對運(yùn)算碼 (OP code) 的緩存很有用,使得腳本不必為每個(gè)請求做重新編譯。v 并不是事必面向?qū)ο?(OOP),面向?qū)ο笸_銷很大,每個(gè)方法和對象調(diào)用都會(huì)消耗很多內(nèi)存。v 并非要用類實(shí)現(xiàn)所有的數(shù)據(jù)結(jié)構(gòu),數(shù)組也很有用。18PHP代碼人工優(yōu)化(六)v不要把方法細(xì)分得過多,仔細(xì)想想你真正打算重用的是哪些代碼?v盡量采用大量的 PHP 內(nèi)置函
7、數(shù)。v如果在代碼中存在大量耗時(shí)的函數(shù),你可以考慮用 C 擴(kuò)展的方式實(shí)現(xiàn)它們。v評估檢驗(yàn) (profile) 你的代碼。檢驗(yàn)器會(huì)告訴你,代碼的哪些部分消耗了多少時(shí)間。Xdebug 調(diào)試器包含了檢驗(yàn)程序,評估檢驗(yàn)總體上可以顯示出代碼的瓶頸。vmod_zip 可作為 Apache 模塊,用來即時(shí)壓縮你的數(shù)據(jù),并可讓數(shù)據(jù)傳輸量降低 80%。 v我想要完成的任何事情 19使用優(yōu)化工具優(yōu)化代碼vzend optimizer工具的使用20頁面文件壓縮輸出vHtml頁面、JavaScript、CSS文件壓縮輸出v使用Apache2的mod_deflate模塊21MySql緩存優(yōu)化配置v使用動(dòng)態(tài)緩存v使用靜態(tài)緩存v使用緩存工具eAccelerator、APC、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子設(shè)備交易合同案例
- 悔過自責(zé)重建信任
- 珍愛和平和諧相處
- 香蕉采購合同示例
- 版企業(yè)借款合同模式
- 地毯招標(biāo)廢標(biāo)原因文件
- 建筑施工土方填筑招標(biāo)
- 戶外垃圾桶設(shè)計(jì)招標(biāo)
- 電子招投標(biāo)操作技巧
- 大樓租賃合同書
- 舊廠房改造調(diào)研分析報(bào)告
- 職業(yè)規(guī)劃樣本
- 漢語拼音書寫紙(打印版).
- NJRD系列軟起動(dòng)器出廠參數(shù)設(shè)置表
- 食堂食品定點(diǎn)采購詢價(jià)記錄表
- 黑龍江醫(yī)藥公司目錄
- 2021-2022無錫市六年級數(shù)學(xué)上冊期末試卷真題
- 銷售合同風(fēng)險(xiǎn)與防范培訓(xùn)(共40頁).ppt
- 情景劇《皇帝選妃》
- 2020年領(lǐng)導(dǎo)干部個(gè)人有關(guān)事項(xiàng)報(bào)告表
- 一年級童謠誦讀計(jì)劃
評論
0/150
提交評論