




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PHP安全及性能優(yōu)化,本周內(nèi)容,PHP安全 PHP性能優(yōu)化,PHP安全,輸入驗(yàn)證 跨站點(diǎn)腳本阻止 SQL注入 代碼注入 命令注入 Session安全 文件訪問安全 沙盒,輸入驗(yàn)證,輸入驗(yàn)證 正則表達(dá)式 Sanitizing 和 Logical過濾器 清理輸入字符串,跨站點(diǎn)腳本攻擊阻止,拒絕特殊字符 利用HTTP-only Cookie解決XSS 使用filter_xss()阻止跨站點(diǎn)腳本攻擊,SQL注入,引號使用 預(yù)編譯語句 Like使用 SQL錯誤處理 其它風(fēng)險,代碼注入,路徑校驗(yàn) 使用全路徑 避免動態(tài)路徑 驗(yàn)證文件名 其它代碼注入風(fēng)險,命令注入,通過命令注入使資源衰竭 路徑使用 隱含威脅,Session安全,服務(wù)器端的弱點(diǎn) URL Session Session鼓動 本地保護(hù)機(jī)制 服務(wù)器端過期機(jī)制 加密Session超出 基于IP的驗(yàn)證,文件訪問安全,加密讀權(quán)限 加密寫權(quán)限 上載文件現(xiàn)值 文件前面 安全模式 PHP編碼 根目錄管理,沙盒,使用沙盒誤導(dǎo)攻擊 編譯沙盒 IP地址限制 路由信息,PHP性能優(yōu)化,PHP代碼人工優(yōu)化 使用優(yōu)化工具優(yōu)化代碼 頁面文件壓縮輸出 Mysql緩存優(yōu)化配置 數(shù)據(jù)庫優(yōu)化,PHP代碼人工優(yōu)化(一),方法可靜態(tài)化,速率可提升至 4 倍 使用echo而不是print 使用 echo 的多重參數(shù),而不是字符串連接。 便利數(shù)組時foreach比while大約快20%-30%左右。 注銷那些不用的變量尤其是大數(shù)組,以便釋放內(nèi)存。 盡量避免使用 _get,_set,_autoload。 在包含文件時使用完整路徑,解析操作系統(tǒng)路徑所需的時間會更少。 函數(shù)代替正則表達(dá)式完成相同功能,PHP代碼人工優(yōu)化(二),使用選擇分支語句(譯注:即 switch case)好于使用多個 if,else if 語句。 用 屏蔽錯誤消息的做法非常低效。 打開 apache 的 mod_deflate 模塊。 數(shù)據(jù)庫連接當(dāng)使用完畢時應(yīng)關(guān)掉。 $rowid 的效率是 $rowid 的 7 倍。 錯誤消息代價昂貴。 盡量不要在 for 循環(huán)中使用函數(shù),比如 for($x=0; $x count($array); $x) 每循環(huán)一次都會調(diào)用 count() 函數(shù)。,PHP代碼人工優(yōu)化(三),在方法中遞增局部變量,速度是最快的。幾乎與在函數(shù)中調(diào)用局部變量的速度相當(dāng)。 遞增一個全局變量要比遞增一個局部變量慢 2 倍。 遞增一個對象屬性(如:$this-prop+)要比遞增一個局部變量慢 3 倍。 遞增一個未預(yù)定義的局部變量要比遞增一個預(yù)定義的局部變量慢 9 至 10 倍。 僅定義一個局部變量而沒在函數(shù)中調(diào)用它,同樣會減慢速度(其程度相當(dāng)于遞增一個局部變量)。PHP 大概會檢查看是否存在全局變量。,PHP代碼人工優(yōu)化(四),方法調(diào)用看來與類中定義的方法的數(shù)量無關(guān),因?yàn)槲遥ㄔ跍y試方法之前和之后都)添加了 10 個方法,但性能上沒有變化。 派生類中的方法運(yùn)行起來要快于在基類中定義的同樣的方法。 調(diào)用帶有一個參數(shù)的空函數(shù),其花費(fèi)的時間相當(dāng)于執(zhí)行 7 至 8 次的局部變量遞增操作。類似的方法調(diào)用所花費(fèi)的時間接近于 15 次的局部變量遞增操作。 用單引號代替雙引號來包含字符串,這樣做會更快一些。因?yàn)?PHP 會在雙引號包圍的字符串中搜尋變量,單引號則不會。當(dāng)然,只有當(dāng)你不需要在字符串中包含變量時才可以這么做。 輸出多個字符串時,用逗號代替句點(diǎn)來分隔字符串,速度更快。注意:只有 echo 能這么做,它是一種可以把多個字符串當(dāng)作參數(shù)的“函數(shù)”(譯注:PHP 手冊中說 echo 是語言結(jié)構(gòu),不是真正的函數(shù),故把函數(shù)加上了雙引號)。,PHP代碼人工優(yōu)化(五),Apache 解析一個 PHP 腳本的時間要比解析一個靜態(tài) HTML 頁面慢 2 至 10 倍。盡量多用靜態(tài) HTML 頁面,少用腳本。 除非腳本可以緩存,否則每次調(diào)用時都會重新編譯一次。引入一套PHP緩存機(jī)制通常可以提升 25% 至 100% 的性能,以免除編譯開銷。 盡量做緩存,可使用 memcached。memcached 是一款高性能的內(nèi)存對象緩存系統(tǒng),可用來加速動態(tài) Web 應(yīng)用程序,減輕數(shù)據(jù)庫負(fù)載。對運(yùn)算碼 (OP code) 的緩存很有用,使得腳本不必為每個請求做重新編譯。 并不是事必面向?qū)ο?(OOP),面向?qū)ο笸_銷很大,每個方法和對象調(diào)用都會消耗很多內(nèi)存。 并非要用類實(shí)現(xiàn)所有的數(shù)據(jù)結(jié)構(gòu),數(shù)組也很有用。,PHP代碼人工優(yōu)化(六),不要把方法細(xì)分得過多,仔細(xì)想想你真正打算重用的是哪些代碼? 盡量采用大量的 PHP 內(nèi)置函數(shù)。 如果在代碼中存在大量耗時的函數(shù),你可以考慮用 C 擴(kuò)展的方式實(shí)現(xiàn)它們。 評估檢驗(yàn) (profile) 你的代碼。檢驗(yàn)器會告訴你,代碼的哪些部分消耗了多少時間。Xdebug 調(diào)試器包含了檢驗(yàn)程序,評估檢驗(yàn)總體上可以顯示出代碼的瓶頸。 mod_zip 可作為 Apache 模塊,用來即時壓縮你的數(shù)據(jù),并可讓數(shù)據(jù)傳輸量降低 80%。 我想要完成的任何事情,使用優(yōu)化工具優(yōu)化代碼,zend optimizer工具的使用,頁面文件壓縮輸出,Html頁面、JavaScript、CSS文件壓縮輸出 使用Apache2的mod_deflate模塊,MySql緩存優(yōu)化配置,使用動態(tài)緩存 使用靜態(tài)緩存 使用緩存工具eAccelerato
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)農(nóng)業(yè)示范園區(qū)場地?zé)o償租賃協(xié)議
- 商業(yè)綜合體物業(yè)租賃及綜合管理服務(wù)協(xié)議
- 體育館場地租賃合同范例
- 特定區(qū)域采礦權(quán)轉(zhuǎn)讓與開發(fā)合同
- 2025至2030年中國鍍金嗩吶碗市場分析及競爭策略研究報告
- 2025至2030年中國有柄戒指絨棒市場分析及競爭策略研究報告
- 2025至2030年中國龍門架式直線型電鍍自動生產(chǎn)線市場分析及競爭策略研究報告
- 2025至2030年中國露營車市場分析及競爭策略研究報告
- 2025至2030年中國輕松撥號系統(tǒng)市場分析及競爭策略研究報告
- 2025至2030磺基水楊酸鈉行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 【人教版】河北石家莊2024-2025學(xué)年 四年級下學(xué)期期末數(shù)學(xué)試題【一】有解析
- 施工費(fèi)用控制管理制度
- 律師事務(wù)所數(shù)據(jù)管理制度
- 2025年衛(wèi)生系統(tǒng)招聘考試《職業(yè)能力傾向測試》新版真題卷(附詳細(xì)解析)
- 大學(xué)生心理健康教育導(dǎo)論
- 河南省洛陽市2024-2025學(xué)年高二下學(xué)期6月期末質(zhì)檢物理試卷(含答案)
- 浙江理工大學(xué)《統(tǒng)計(jì)學(xué)與R語言》2023-2024學(xué)年第二學(xué)期期末試卷
- 安全生產(chǎn)獎罰管理制度
- 2025年全省民政行業(yè)職業(yè)技能大賽(孤殘兒童護(hù)理員)備考試題庫(含答案)
- 南京鼓樓醫(yī)院合作協(xié)議書
- DB32/T 3375-2018公共場所母乳哺育設(shè)施建設(shè)指南
評論
0/150
提交評論