php安全之直接用$獲取值而不$_GET 字符轉(zhuǎn)義
復(fù)制代碼 代碼如下: <? function my_addslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array($s...
|
復(fù)制代碼 代碼如下: <? function my_addslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array($s...
說(shuō)明: 1,在服務(wù)器緩存了壓縮過(guò)的文件,再次訪(fǎng)問(wèn)減少再壓縮時(shí)間,降低CPU占用率。 2,通過(guò)設(shè)置客戶(hù)端文件緩存時(shí)間,降低再次請(qǐng)求次數(shù),可降低85%以上。 3,圖片因?yàn)橐呀?jīng)是壓縮格式,只是設(shè)置客戶(hù)端緩存時(shí)間,不做壓縮處理。
使用方法:...
前言
Smarty 是一個(gè)出色的PHP模板引擎,它分離了邏輯代碼和user interface。
學(xué)習(xí)和使用Smarty,沒(méi)有應(yīng)用到它的緩存技術(shù)是一個(gè)很大的損失,它可以將用戶(hù)最終看到的HMTL文件緩存成一個(gè)靜態(tài)的HTML頁(yè),當(dāng)設(shè)定Smarty的cache...
這幾天寫(xiě)php程序,感覺(jué)很多地方不如asp,asp.Net,jsp順手,比如session使用先得session_start();,文件跳轉(zhuǎn)header用的也不方便....
也許是不熟悉的php的一些特性吧,不過(guò)寫(xiě)多了,也就慢慢適應(yīng)將就了.....
這里就整理一個(gè)代碼...
一、strstr ― 查找字符串的首次出現(xiàn)
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 注1:$haystack是當(dāng)事字符串,$needle是被查找的字符串。該函數(shù)區(qū)分大小寫(xiě)。 注2:返回值是...
先google了一下,發(fā)現(xiàn)很多問(wèn)相關(guān)問(wèn)題的但沒(méi)有相關(guān)的解答,在phpclasses里也沒(méi)有找到相關(guān)的類(lèi)于是自己邊看stmp的相關(guān)協(xié)議邊開(kāi)始嘗試curl SMTP協(xié)議 這個(gè)在網(wǎng)上可以找到多相關(guān)的例子,可以自己實(shí)驗(yàn)一下使用telnet去連接mai...
fixHtmlTag version 0.2 這個(gè)版本解決了上次遺留的問(wèn)題,即就近閉合和嵌套閉合問(wèn)題。具體可以看代碼的注釋。 復(fù)制代碼 代碼如下: <?php
/** * fixHtmlTag * * HTML標(biāo)簽修復(fù)函數(shù),此函數(shù)可以修復(fù)未正確閉合的 HTML 標(biāo)簽...
實(shí)例代碼: 復(fù)制代碼 代碼如下: <?php /** * ********************************************************** * Read Me * 文章分頁(yè) * * 分頁(yè)方式,可以按字?jǐn)?shù)分頁(yè),按換行分頁(yè),按特殊標(biāo)記分頁(yè)等 * 其實(shí)實(shí)現(xiàn)思路是一樣的,只是...
復(fù)制代碼 代碼如下: /** * 序列號(hào)生成器 */ function snMaker($pre = '') { $date = date('Ymd'); $rand = rand(1000000,9999999); $time = mb_substr(time(), 5, 5, 'utf-8'); $serialNumber = $pre.$date.$time.$r...
我們?cè)谒阉饕恍〇|西時(shí)會(huì)經(jīng)常遇到可以通過(guò)空格隔開(kāi)來(lái)達(dá)到輸入多個(gè)條件的目的。今天正好項(xiàng)目中遇到了這個(gè)情況,就寫(xiě)了一個(gè)函數(shù),將多個(gè)條件放到數(shù)組里。目前支持空格、逗號(hào)(中英文)、回車(chē)分割,如不能滿(mǎn)足需求,看下這個(gè)函數(shù)修改...
復(fù)制代碼 代碼如下: <?php /** * 逆序二維數(shù)組插入一元素 * * @author WadeYu * @date 2012-05-30 */ $aSorted = array( array(1, 100), array(2, 90), array(3, 80), array(4, 70), array(5, 60), array(6, 50), ar...
復(fù)制代碼 代碼如下: <?php /** * PHP 年齡計(jì)算函數(shù) * * 參數(shù)支持?jǐn)?shù)組傳參和標(biāo)準(zhǔn)的 Mysql date 類(lèi)型傳參 * params sample * -------------------------------------------------- $birthArr = array( 'year' => '2000...
算法思路:把每一個(gè)數(shù)字看做一個(gè)獨(dú)立的數(shù)學(xué)表達(dá)式,表達(dá)式之間加上標(biāo)點(diǎn)符號(hào)組合成新表達(dá)式,一共組合4次,表達(dá)式之間的所有組合可以通過(guò)遞歸來(lái)實(shí)現(xiàn). 代碼如下: 復(fù)制代碼 代碼如下: <?php /** * A 24 maker * @version 1.0.0 *...
例如: SQL注入攻擊 XSS攻擊 復(fù)制代碼 代碼如下: 任意執(zhí)行代碼 文件包含以及CSRF. }
關(guān)于SQL攻擊有很多文章還有各種防注入腳本,但是都不能解決SQL注入的根本問(wèn)題 見(jiàn)代碼:
復(fù)制代碼 代碼如下: <?php mysql_connec...
獲得當(dāng)前日期+時(shí)間(date + time)1.1 函數(shù):now() 相關(guān)函數(shù):current_timestamp(),localtime(),localtimestamp() 舉例說(shuō)明:
2. 獲得當(dāng)前日期(date) 函數(shù):curdate() 相關(guān)函數(shù):current_date(),current_date 舉例說(shuō)明:
3....
1、與mysql相關(guān)
mysql_connect 建立一個(gè)與MySQL服務(wù)器的連接 語(yǔ)法
resource mysql_connect(string server[,string usingname[,string password[, bool new_link[,int client_flags]]]]) eg: 復(fù)制代碼 代碼如下:...
在自然語(yǔ)言中,我們理解抽象的概念是,一個(gè)物體的一種大的描述,這種描述對(duì)某類(lèi)物體來(lái)說(shuō)是共有的特性。那么在PHP中也是一樣的,我們把一個(gè)類(lèi)進(jìn)行抽象,可以指明類(lèi)的一般行為,這個(gè)類(lèi)應(yīng)該是一個(gè)模板,它指示它的子方法必須要實(shí)現(xiàn)的...
1、首先php5提供了基本的異常處理類(lèi),可直接使用 復(fù)制代碼 代碼如下: <?php class Exception { protected $message = 'Unknown exception'; // 異常信息 protected $code = 0; // 用戶(hù)自定義異常代碼 protected $file;...
客戶(hù)端從服務(wù)端下載文件的流程分析:
瀏覽器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求訪(fǎng)問(wèn)服務(wù)器中的某個(gè)網(wǎng)頁(yè)(如:down.php),該網(wǎng)頁(yè)的代碼如下。 服務(wù)器接受到該請(qǐng)求以后,馬上運(yùn)行該down.php文件 運(yùn)行該文件的時(shí)候,必然要把將要被下載的文件讀入內(nèi)...
定義頂級(jí)異常處理器用到的函數(shù)是 set_exception_handler("My_exception"); 這里的My_expection是開(kāi)發(fā)者自定義的異常處理函數(shù),既頂級(jí)異常處理器,只有當(dāng)程序中沒(méi)有函數(shù)來(lái)處理異常才有頂級(jí)異常處理器來(lái)處理異常,如果沒(méi)有定...
Content-disposition 是 MIME 協(xié)議的擴(kuò)展,MIME 協(xié)議指示 MIME 用戶(hù)代理如何顯示附加的文件。Content-disposition其實(shí)可以控制用戶(hù)請(qǐng)求所得的內(nèi)容存為一個(gè)文件的時(shí)候提供一個(gè)默認(rèn)的文件名,文件直接在瀏覽器上顯示或者在...
總結(jié):
使用PHP下載文件的操作需要給出四個(gè)header(),可以參考我的另一篇博文:PHP如何實(shí)現(xiàn)下載功能超詳細(xì)流程分析 計(jì)算文件的大小的時(shí)候,并不需要先打開(kāi)文件,通過(guò)filesize($filen...
但是, 這樣做, 就沒(méi)辦法做一些統(tǒng)計(jì), 權(quán)限檢查, 等等的工作. 于是, 很多時(shí)候, 我們采用讓PHP來(lái)做轉(zhuǎn)發(fā), 為用戶(hù)提供文件下載. 復(fù)制代碼 代碼如下: <?php $file = "/tmp/dummy.tar.gz"; header("Content-type: applicati...
經(jīng)常會(huì)有人問(wèn)我, PHP的數(shù)組, 如果用foreach來(lái)訪(fǎng)問(wèn), 遍歷的順序是固定的么? 以什么順序遍歷呢? 比如: 復(fù)制代碼 代碼如下: <?php $arr['laruence'] = 'huixinchen'; $arr['yahoo'] = 2007; $arr['baidu'] = 2008; fore...
例如,員工管理應(yīng)用程序可能包括一個(gè)EmPloyee 類(lèi)。然后可以用這個(gè)類(lèi)來(lái)創(chuàng)建和維護(hù)特定實(shí)例,比如Gonn和Sally。
根據(jù)預(yù)定義的類(lèi)創(chuàng)建對(duì)象常稱(chēng)為類(lèi)的實(shí)例化(class instantiation)。
對(duì)象使用new關(guān)鍵字創(chuàng)建,如下:
復(fù)制代碼...