yahoo對付偽造跨站請求的辦法是在表單裡加入一個叫.crumb的隨機串;而facebook也有類似的解決辦法,它的表單裡常常會有post_form_id和fb_dtsg。 比較常見而且也很廉價的防範手段是在所有可能涉及使用者寫操作的表單中加入一個隨機且變換頻繁的字串,然後在處理表單的時候對這個字串進行檢查。這個隨機字串如果和目前使用者身份相關聯的話,那麼攻擊者偽造請求會比較麻煩。現在防範方法基本上都是基於這種方法的了 隨機串代碼實現 咱們按照這個思路,山寨一個crumb的實現,代碼如下:
我們在建設一個網站的時候,程式員們首選的當屬PHP語言。我們對PHP還是比較熟悉的,接下來我們將會為大家介紹一下PHP遞迴演算法。PHP,一個嵌套的縮寫名稱,是英文超級文本預先處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的指令碼語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。PHP 獨特的文法混合了 C、Java、Perl 以及 PHP 自創新的文法。它可以比 CGI
其實,也比較簡單,上代碼:複製代碼 代碼如下: $url = 'http://127.0.0.1/test.php';//POST指向的連結 $data = array( 'access_token'=>'thekeyvalue' ); $json_data = postData($url, $data); $array = json_decode($json_data,true);
使用Wordpress朋友總會難免需要對自己的WP進行一些個性調整或者為自己做一套個性的主題,一般的小修改直接線上調整完全沒有問題,但要是為自己打造一套個性主題的時候最好還是選擇本地進行調試,所以一些針對Windows系統的PHP調試軟體就應運而生。Wordpress夠流行了吧,它是一個用PHP編寫的強大的部落格平台。使用它來架設一個部落格平台相關容易,是新手建站比較方便的工具。但是要真正體會Wordpress(以下簡稱WP)強大,外掛程式是不可少的東西。一般來說,我們不可能想試一個外掛程式就把
有時候很實用在一些場合,留住備用吧複製代碼 代碼如下:function is_mobile_request() { $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : ''; $mobile_browser = '0'; if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|
PHP經過長時間的發展,很多使用者都很瞭解PHP了,PHP最初是1994年Rasmus Lerdorf建立的,剛剛開始只是一個簡單的用Perl語言編寫的程式,用來統計他自己網站的訪問者。後來又用C語言重新編寫,包括可以訪問資料庫。在 1995年以Personal Home Page Tools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程式的文檔,並且發布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計數器等簡單的功
最近遇到了資料庫過大的時候用phpadmin匯入的問題,新版本的phpadmin匯入限定是8M,老版本的可能2M,我的資料庫有幾十兆這可怎麼辦呢? 首先如果你有獨立伺服器或vps的話可以找到 Apache 下的php.ini 這個檔案來修改這個8M或2M的限制,怎麼修改呢? 搜尋到,修改這三個 複製代碼 代碼如下: upload_max_filesize = 2M post_max_size = 8M memory_limit = 128M 修改完畢
例1,入隊操作:複製代碼 代碼如下:$redis = new Redis();$redis->connect('127.0.0.1',6379);while(True){ try{ $value = 'value_'.date('Y-m-d H:i:s'); $redis->LPUSH('key1',$value); sleep(rand()%3); echo $value."\n"; }catch(Exception $e){ echo
PHP產生靜態文章HTML,有批量的產生,但比較標準的應該是在添加文章時就產生HTML文章,編輯時再重建HTML文章,刪除文章時同樣也樣刪除多餘出來的HTML文章,這時批量產生就顯得有點力不從心了,下面就介紹一下PHP在添加文章時如何產生靜態HTML檔案。 簡單的添加文章表單這裡就不寫了,下面的這些源碼是接受表單傳過來的值而執行的程式源碼,可以先拿過去測試一下。。。複製代碼 代碼如下: ob_start(); require_once("../inc/conn.php"); $typ=$_
首先,進入源碼目錄cd php-5.2.13/ext/ftp#運行phpize產生configure/usr/local/php/bin/phpize#編譯,指定php-config,注意這裡的php-config,不是php.ini./configure --with-php-config=/usr/local/php/bin/php-config#上面可以添加--enable-ftp,也可以不用添加#編譯安裝make;make install#產生一個目錄來存放擴充的模組mkdir
flush()、ob_flush()、ob_end_flush()三者的區別:首先,說下buffer,它是一個記憶體位址空間,為4096(1kb)【在php.ini設定檔中找到output_buffering配 置】,php有php output_buffering機制,php代碼在執行的時候,並不是立即將內容輸出,而是想將echo/print內容輸出到buffer,buffer滿的時候才會將資料交給系統核心交由tcp傳給瀏覽器顯示,當開啟php php
一個小小的換行,其實在不同的平台有著不同的實現,為什麼要這樣,可以是世界是多樣的。本來在unix世界換行就用/n來代替,但是windows為了體現他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,這樣就用你寫的程式在不同的平台上運行有著不少的麻煩。下面是PHP去除分行符號的一些常見方法。第一種寫法:複製代碼 代碼如下:$content=str_replace("\n","",$content);echo
__FILE__ ,是返迴文件的完整路徑和檔案名稱。如果用在包含檔案中,則返回包含檔案名稱。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。dirname(__FILE__),返回當前檔案路徑的部分路徑,也就是去掉檔案名稱。 示範代碼: 複製代碼 代碼如下: // 擷取檔案的當前路徑 + 檔案名稱 echo __FILE__; echo ''; // 擷取檔案的當前路徑 echo dirname(__FILE__); echo '';
array explode (string $separator, string $string [, int $limit])該函數有3個參數,第一個參數$separator設定一個分割字元(串)。第二個參數$string指定所要操作的字串。$limit參數是可選的,指定最多將字串分割為多少個子串。該函數返回一個由被分割的子串組成的數組。來看下面的例子,對一個由逗號分隔的多行文本資料進行分析。例1,分割字串。複製代碼 代碼如下:$this_year = 2013;$text = 祝無雙,F,1
1、單例模式所謂單例模式,也就是在任何時候,應用程式中只會有這個類的一個執行個體存在。常見的,我們用到單例模式只讓一個對象去訪問資料庫,從而防止開啟多個資料庫連接。要實現一個單例類應包括以下幾點:和普通類不同,單例類不能被直接執行個體化,只能是由自身執行個體化。因此,要獲得這樣的限制效果,建構函式必須標記為private。
介紹:preg_replace 執行Regex的搜尋和替換,如果只是單純的匹配字串建議使用str_replace(),因為其執行效率高的多。mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) 在 subject 中搜尋 pattern 模式的匹配項並替換為 replacement。如果指定了 limit,則僅替換 limit 個匹配,如果省略 limit 或者其值為 -1,
一般而言,分頁檔開啟gzip壓縮以後,其體積可以減小60%~90%,對於文字類網站,可以節省下大量的頻寬與使用者等待時間。但是不論是iis還是apache預設都只壓縮html類靜態檔案,對於php檔案需要模組配置才可支援(iis7.5中開啟動態+靜態壓縮也可以),於是利用php自身功能到達gzip的效果也成為一項合理的訴求。網上的教程基本是你抄我來我抄他,不外乎加頭加尾或者自構函數兩種寫法。實際上每個php頁面都要去加代碼——當然也可以include引用,不過總顯得略微麻煩。實際上最簡單的辦法,
老聲長談,著是困惑很多人的問題,如果處理不好,都是亂碼,說這些話並不是我對編碼很精通,只是在這方面是得留神,自己總結了一點小經驗(容易出現亂碼的地方有php檔案裡面 ,資料庫裡面 儲存 的編碼 ,頁面顯示 ,資料轉送 ):1.在建資料庫的時候,尤其是用phpMyAdmin與MYSQL打交道時候,一般都是utf-8,欄位為 utf8_general_ci資料庫的設定:在my.ini檔案中尋找:[mysql]default-character-set =
下面這幾個方法將能夠幫你解決這個問題。PHP版將html中的分行符號轉換為文字框中的分行符號:複製代碼 代碼如下:function br2nl($text){ return preg_replace('//i','',$text);}或者:複製代碼 代碼如下:function br2nl($text){ $text=preg_replace('//i',chr(13),$text); return preg_replace('/ /i','
資料庫操縱基本流程為: 1、串連資料庫伺服器 2、選擇資料庫 3、執行SQL語句 4、處理結果集 5、列印操作資訊 其中用到的相關函數有•resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] ) 串連資料庫伺服器•resource mysql_pconnect (