一些php技巧與注意事項(xiàng)分析
更新時(shí)間:2011年02月03日 15:19:18 作者:
很多人寫(xiě)程序時(shí),用 header(location) 進(jìn)行跳轉(zhuǎn)往往不記得寫(xiě) exit() 語(yǔ)句,事實(shí)上這種做法是存在嚴(yán)重風(fēng)險(xiǎn)的。
從瀏覽器上看,使用 header(location) 就跳轉(zhuǎn)到另一個(gè)頁(yè)面了,但事實(shí)上,php卻仍然會(huì)執(zhí)行后臺(tái)的代碼的,假如后面的代碼有不安全邏輯的,那就直接無(wú)視開(kāi)發(fā)者設(shè)定的條件,繼續(xù)把后面的東西給執(zhí)行了。
如:
if(true)
{
header('location:http://www.dbjr.com.cn');
}
file_put_contents('test.txt', 'ok');
這個(gè)代碼中,粗心的程序員會(huì)以為 header('location:http://www.dbjr.com.cn'); 就over了,事實(shí)上,后臺(tái)的代碼卻仍然被執(zhí)行了,所以使用 header(location) 的時(shí)候,不管是封裝在另一個(gè)函數(shù)還是直接寫(xiě)的,都建議在后面加 exit() 確認(rèn)程序中止。
====soap
今天運(yùn)行一個(gè)demo代碼,出現(xiàn)了“Class 'SoapClient' not found”錯(cuò)誤。搜索了一下,需要啟動(dòng)soap服務(wù),但是在php.ini的Windows Extensions里面沒(méi)有找到soap.dll,一開(kāi)始還以為我的php版本沒(méi)有包含這個(gè)dll,到php安裝目錄下的ext子目錄看了一下,發(fā)現(xiàn)php_soap.dll是存在的。那就簡(jiǎn)單了,直接添加extension=php_soap.dll到Windows Extensions部分,重啟動(dòng)apache就好了。
ssl默認(rèn)也是不啟動(dòng)的,extension=php_openssl.dll,可以在這里將它前面";"去掉就好了。
var_dump( $query );//把結(jié)果當(dāng)成文本打印出來(lái)查看
$GLOBALS //保存所有全局變量(只在當(dāng)前頁(yè)面中的)
get_defined_vars() //返回由所有已定義變量所組成的數(shù)組(包括全局變量,超全局變量等)
get_defined_constants() //返回由所有已定義常量所組成的數(shù)組
如:
復(fù)制代碼 代碼如下:
if(true)
{
header('location:http://www.dbjr.com.cn');
}
file_put_contents('test.txt', 'ok');
這個(gè)代碼中,粗心的程序員會(huì)以為 header('location:http://www.dbjr.com.cn'); 就over了,事實(shí)上,后臺(tái)的代碼卻仍然被執(zhí)行了,所以使用 header(location) 的時(shí)候,不管是封裝在另一個(gè)函數(shù)還是直接寫(xiě)的,都建議在后面加 exit() 確認(rèn)程序中止。
====soap
今天運(yùn)行一個(gè)demo代碼,出現(xiàn)了“Class 'SoapClient' not found”錯(cuò)誤。搜索了一下,需要啟動(dòng)soap服務(wù),但是在php.ini的Windows Extensions里面沒(méi)有找到soap.dll,一開(kāi)始還以為我的php版本沒(méi)有包含這個(gè)dll,到php安裝目錄下的ext子目錄看了一下,發(fā)現(xiàn)php_soap.dll是存在的。那就簡(jiǎn)單了,直接添加extension=php_soap.dll到Windows Extensions部分,重啟動(dòng)apache就好了。
ssl默認(rèn)也是不啟動(dòng)的,extension=php_openssl.dll,可以在這里將它前面";"去掉就好了。
復(fù)制代碼 代碼如下:
var_dump( $query );//把結(jié)果當(dāng)成文本打印出來(lái)查看
$GLOBALS //保存所有全局變量(只在當(dāng)前頁(yè)面中的)
get_defined_vars() //返回由所有已定義變量所組成的數(shù)組(包括全局變量,超全局變量等)
get_defined_constants() //返回由所有已定義常量所組成的數(shù)組
您可能感興趣的文章:
- 10個(gè)對(duì)初學(xué)者非常有用的PHP技巧
- PHP入門(mén)教程之日期與時(shí)間操作技巧總結(jié)(格式化,驗(yàn)證,獲取,轉(zhuǎn)換,計(jì)算等)
- PHP入門(mén)教程之字符串處理技巧總結(jié)(轉(zhuǎn)換,過(guò)濾,解析,查找,截取,替換等)
- 24條貨真價(jià)實(shí)的PHP代碼優(yōu)化技巧
- PHP程序中的文件鎖、互斥鎖、讀寫(xiě)鎖使用技巧解析
- 高質(zhì)量PHP代碼的50個(gè)實(shí)用技巧必備(上)
- PHP版本升級(jí)到7.x后wordpress的一些修改及wordpress技巧
- 搭建Vim為自定義的PHP開(kāi)發(fā)工具的一些技巧
- 分享五個(gè)PHP7性能優(yōu)化提升技巧
- PHP YII框架開(kāi)發(fā)小技巧之模型(models)中rules自定義驗(yàn)證規(guī)則
- php技巧小結(jié)【推薦】
相關(guān)文章
php遞歸函數(shù)中使用return的注意事項(xiàng)
php遞歸函數(shù)中使用return的時(shí)候會(huì)碰到無(wú)法正確返回想要的值得情況,下面就來(lái)舉例子來(lái)說(shuō)明一下吧2014-01-01PHP入門(mén)教程之正則表達(dá)式基本用法實(shí)例詳解(正則匹配,搜索,分割等)
這篇文章主要介紹了PHP入門(mén)教程之正則表達(dá)式基本用法,結(jié)合實(shí)例形式分析了正則表達(dá)式的結(jié)構(gòu)、原理及正則匹配、搜索、分割、元子符、修飾符等相關(guān)概念與操作技巧,需要的朋友可以參考下2016-09-09PHP實(shí)現(xiàn)時(shí)間日期友好顯示實(shí)現(xiàn)代碼
之前腳本之家小編也為大家分享過(guò)類(lèi)似的時(shí)間日期顯示代碼,這里為大家分享的更加友好,大家根據(jù)說(shuō)明調(diào)用即可2019-09-09php設(shè)計(jì)模式 Singleton(單例模式)
保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪(fǎng)問(wèn)它的全局訪(fǎng)問(wèn)點(diǎn)2011-06-06php實(shí)現(xiàn)的簡(jiǎn)單檢驗(yàn)登陸類(lèi)
這篇文章主要介紹了php實(shí)現(xiàn)的簡(jiǎn)單檢驗(yàn)登陸類(lèi),可實(shí)現(xiàn)基本的php數(shù)據(jù)庫(kù)查詢(xún)及密碼匹配的功能,需要的朋友可以參考下2015-06-06講解WordPress開(kāi)發(fā)中一些常用的debug技巧
這篇文章主要介紹了WordPress開(kāi)發(fā)中一些常用的debug技巧,需要的朋友可以參考下2015-12-12PHP實(shí)現(xiàn)過(guò)濾各種HTML標(biāo)簽
在做項(xiàng)目的過(guò)程中,我們經(jīng)常需要用到過(guò)濾一些html標(biāo)簽來(lái)實(shí)現(xiàn)提高數(shù)據(jù)的安全性,其實(shí)就是刪除那些對(duì)應(yīng)用程序有潛在危害的數(shù)據(jù)。它用于去除標(biāo)簽以及刪除或編碼不需要的字符。2015-05-05PHP Session 變量的使用方法詳解與實(shí)例代碼
在php中Session經(jīng)常用來(lái)驗(yàn)證用戶(hù)注冊(cè)或登錄之后的驗(yàn)證了,下面我來(lái)總結(jié)session變量的一些常用實(shí)例與用法介紹2013-09-09