自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全方位解疑PHP應(yīng)用問題

開發(fā) 后端
我們?cè)趯?shí)際代碼開發(fā)中會(huì)不斷遇到一些問題,在解決的過程中,我們可以積累經(jīng)驗(yàn),增加對(duì)PHP語言的認(rèn)知程度。希望下面這些PHP應(yīng)用問題能夠幫助大家解決難題。

PHP語言的功能非常強(qiáng)大,可以幫助我們解決很多問題。但是在實(shí)際應(yīng)用中,它并不是沒有缺陷的。我們?cè)谶@里就向大家詳細(xì)介紹有關(guān)PHP應(yīng)用問題的相關(guān)解決辦法。#t#

謹(jǐn)慎使用==比較運(yùn)算符,因?yàn)镻HP是無類型的,但底層的C實(shí)現(xiàn)引擎是有類型的。最終都有類型轉(zhuǎn)換,比如0==”abc”結(jié)果是true,這可能不是我們想要的

在語義上是某種明確類型的地方都要使用相關(guān)函數(shù)明確轉(zhuǎn)換一下:intval。。。
在一個(gè)地方統(tǒng)一定義PHP的文件包含路徑,這樣在項(xiàng)目的各個(gè)地方包含文件的時(shí)候不要帶上路徑,只要文件名就行了,便于文件的轉(zhuǎn)移

PHP應(yīng)用問題還有一個(gè)就是不要直接在函數(shù),類方法中使用PHP的全局變量,而應(yīng)該是提供一個(gè)單獨(dú)訪問全局變量的代理,可以是對(duì)象,也可以只是一個(gè)簡(jiǎn)單的函數(shù),如果是在類中訪問全局變量,修改為使用代理全局變量的對(duì)象,這樣兩個(gè)對(duì)象之間有明確的依賴關(guān)系,不要在函數(shù)內(nèi)部直接使用全局變量或者global 外面的變量,一個(gè)函數(shù)只應(yīng)該使用函數(shù)參數(shù)傳遞進(jìn)來的數(shù)據(jù)。自己盡量不要使用全局的變量然后到處global, 注意表單的重復(fù)提交。這可以采用令牌。

決定系統(tǒng)是單入口還是多入口

注意編碼:文件存儲(chǔ)編碼,頁面編碼,數(shù)據(jù)庫編碼,用戶的操作系統(tǒng)編碼(用戶直接在地址上輸入內(nèi)容時(shí)FF,Opera會(huì)把內(nèi)容根據(jù)操作系統(tǒng)的編碼urlencode編碼,而IE6原樣)

不要暴露文件的路徑

提交請(qǐng)求后用戶關(guān)掉瀏覽器或者點(diǎn)擊瀏覽器的停止或者其它原因網(wǎng)絡(luò)斷掉后PHP是要繼續(xù)處理還是停止處理,PHP如何知道以上情況:connection-handling(ignore_user_abort,register_shutdown_function,connection_status…)

時(shí)區(qū)問題,如果應(yīng)用是分布式的話

explode應(yīng)用在一個(gè)空值上將產(chǎn)生一個(gè)包含1項(xiàng)內(nèi)容的數(shù)組:array(”"),但后者不是為false。也就是:null是假值,但explode(’,',null)后是真值,所以要小心if(explode(’,',$var))這種條件

$var = null;isset($var)結(jié)果為false。

PHP應(yīng)用問題之安全問題

驗(yàn)證輸入,不要相信來自用戶的數(shù)據(jù)(GET,POST,COOKIE),對(duì)于一個(gè)PHP應(yīng)用,應(yīng)該統(tǒng)一的對(duì)這些數(shù)據(jù)進(jìn)行過濾處理,比如編碼html標(biāo)簽防止XSS,防止sql注入。

同時(shí)對(duì)于需要驗(yàn)證的內(nèi)容,PHP要在驗(yàn)證一次,因?yàn)榭蛻舳说母鞣N驗(yàn)證都可以很容易的跳過(偽表單,禁用js及firebug這些可以隨便修改html的工具)。

要注意用戶提交的數(shù)據(jù)大小。比如post數(shù)據(jù)或者get數(shù)據(jù)太大可能會(huì)有緩沖溢出問題

小心服務(wù)器的非PHP文件。如果應(yīng)用可以上傳或者下載文件,要避免直接通過文件名讀取文件而文件名是用戶提供的情況,可能用戶會(huì)提供一些自己不該看到的文件,但PHP程序卻讀出來了。同時(shí)不要在返回的html中顯示文件路徑,文件的保存路徑不應(yīng)讓用戶看到,用戶可能會(huì)根據(jù)這些路徑猜出其它自己不該看到的文件

如果會(huì)話是保存在文件中的,并且web服務(wù)器上還有其它未知的用戶(比如出租的web主機(jī)),應(yīng)該修改會(huì)話文件的保存位置,或者把會(huì)話通過PHP的會(huì)話handler寫到數(shù)據(jù)庫中,因?yàn)闀?huì)話默認(rèn)保存在臨時(shí)目錄中,其它人可以訪問到,如果會(huì)話中保存了密碼之類的信息就很危險(xiǎn)。

以上就是PHP應(yīng)用問題的相關(guān)解決辦法。

責(zé)任編輯:曹凱 來源: li-zone.cn
相關(guān)推薦

2009-12-09 13:32:08

PHP zend安裝

2009-12-03 15:13:51

PHP開發(fā)中問題

2009-12-07 10:05:22

PHP session

2009-12-21 15:48:29

WCF應(yīng)用程序

2016-12-14 14:43:11

ButterknifeAndroid

2009-12-11 11:23:22

策略路由配置

2009-12-15 10:48:54

Ruby局部變量

2012-10-15 09:50:29

應(yīng)用云計(jì)算云計(jì)算

2010-08-04 14:15:44

nfs服務(wù)

2009-10-30 17:48:38

無線接入網(wǎng)

2009-12-15 10:10:42

Ruby過程對(duì)象

2009-10-26 13:41:49

機(jī)房監(jiān)控

2009-08-24 10:39:12

思科認(rèn)證CCNA思科認(rèn)證CCNA

2009-09-08 09:46:44

思科認(rèn)證介紹思科認(rèn)證

2009-11-03 14:26:13

EPON接入技術(shù)

2022-08-27 21:31:04

Tauri框架二進(jìn)制

2011-03-21 15:08:56

MongoDBCouchDB

2021-08-24 07:57:26

KafkaRocketMQPulsar

2009-12-31 14:01:59

以太網(wǎng)接入技術(shù)

2009-11-11 10:56:50

路由器協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)