Time of Update: 2016-11-22
由於 PHP 的檔案系統操作是基於 C 語言的函數的,所以它可能會以您意想不到的方式處理 Null 字元。 Null字元在 C 語言中用於標識字串結束,一個完整的字串是從其開頭到遇見 Null 字元為止。 以下代碼示範了類似的攻擊:Example #1 會被 Null 字元問題攻擊的代碼<?php $file = $_GET['file']; // "../../etc/passwd\0" if
Time of Update: 2016-11-21
模式中一些項可能比其他一些更加高效。 比如使用 [aeiou] 這樣的字元類會比可選路徑 (a|e|i|o|u) 高效。 一般而言, 用儘可能簡單的構造描述需求是最搞笑的。 Jeffrey Friedl 書(精通Regex)中包含了很多關於Regex效能的討論。當一個模式以 .* 開始並且設定了 PCRE_DOTALL 選項時,模式通過PCRE隱式錨定, 因為它可以匹配字串的開始。然而,如果 PCRE_DOTALL 沒有設定, PCRE
Time of Update: 2016-11-22
一般而言,通過隱藏的手段提高安全性被認為是作用不大的做法。但某些情況下,儘可能的多增加一份安全性都是值得的。一些簡單的方法可以協助隱藏 PHP,這樣做可以提高攻擊者發現系統弱點的難度。在 php.ini 檔案裡設定 expose_php = off ,可以減少他們能獲得的有用資訊。另一個策略就是讓 網頁伺服器用 PHP 解析不同副檔名。無論是通過 .htaccess 檔案還是 Apache 的設定檔,都可以設定能誤導攻擊者的副檔名:Example #1 把 PHP 隱藏為另一種語言#
Time of Update: 2016-11-11
Mac OS X 內建了Apache 和 PHP,這樣使用起來非常方便。本文以Mac OS X 10.6.3為例。主要內容包括: 啟動Apache 運行PHP 安裝MySQL 使用phpMyAdmin 配置PHP的MCrypt擴充庫 設定虛擬機器主機 啟動Apache 有兩種方法: 開啟“系統設定偏好(System Preferences)” -> “共用(Sharing)” -> “Web共用(Web Sharing)”
Time of Update: 2016-11-21
在使用git pull代碼時,經常會碰到有衝突的情況,提示如下資訊:error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.Please, commit your changes or stash them before you can
Time of Update: 2016-11-21
PHP的isset()函數 一般用來檢測變數是否設定格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:檢測變數是否設定 傳回值: 若變數不存在則返回 FALSE 若變數存在且其值為NULL,也返回 FALSE 若變數存在且值不為NULL,則返回 TURE 同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE 版本:PHP 3, PHP 4, PHP 5 更多說明: 使用 unset()
Time of Update: 2016-11-11
php 5.4中php-fpm 的重啟、終止操作命令:查看php運行目錄命令:which php/usr/bin/php查看php-fpm進程數:ps aux | grep -c php-fpm查看運行記憶體/usr/bin/php -i|grep mem重啟php-fpm/etc/init.d/php-fpm restart在phpinfo()輸出內容可以看到php相關配置。Loaded Configuration File /etc/php.ini=====================
Time of Update: 2016-11-22
簡介和安裝配置Alternative PHP Cache (APC) 是一個開放自由的PHP opcode 緩衝。它的目標是提供一個自由、 開放,和健全的架構用於緩衝和最佳化PHP的中間代碼。該擴充的各個版本安裝包都在此處: http://pecl.php.net/package/apc.該PECL 擴充的 DLL 當前不可用。注意:
Time of Update: 2016-11-11
Brewbrew對於mac,就像apt-get對於ubuntu,安裝軟體的好幫手,不能方便更多...brew的安裝方式如下:ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"brew常用選項brew install xxxbrew uninstall xxxbrew list brew update xxxNginx使用Nginx也比較方便,首先安裝brew install nginx自啟動設定To
Time of Update: 2016-11-11
// controller 目錄下 exends.php class Controller_Extends extends Controller{ public function action_whj(){ $state = "whjsjq"; $expression = false; $view = View::factory('application/whj');//調用視圖模版檔案 $view->state = $state;//賦值視圖變數
Time of Update: 2016-11-22
Phar 歸檔的概念來自 Java 技術的 JAR 歸檔,它允許使用單個檔案打包應用程式,這個檔案中包含運行應用程式所需的所有東西。該檔案不同於單個可執行檔,後者通常由程式設計語言產生,比如 C,因為該檔案實際上是一個歸檔檔案而非編譯過的應用程式。因此 JAR 檔案實際上包含組成應用程式的檔案,但是考慮到安全性,不對這些檔案進行仔細區分。Phar 擴充正是基於類似的理念,但是在設計時主要針對 PHP 的 Web 環境。同樣,與 JAR 歸檔不同的是,Phar 歸檔可由 PHP
Time of Update: 2016-11-10
Sql語句代碼 CREATE TABLE sessions ( id CHAR(32) NOT NULL, data TEXT, last_accessed TIMESTAMP NOT NULL, PRIMARY KEY (id) );自訂會話處理代碼 <?php /** * Created by PhpStorm. * User: michaeldu * Date: 15/7/14 * Time: 下午2:57 */ $sdbc =
Time of Update: 2016-11-11
<p>你是否正在準備尋找一份PHP開發的工作,並且也在尋找一些關於PHP的面試題及答案?本文為大家分享了一些被提問頻率最高的11個PHP面試題,以及對應的常規回答,每個公司都有自己的面試標準,面試和問題是完全取決於你在工作中所扮演的角色,當然也和你的編程技能息息相關。</p><p><!--[if !supportLists]-->1.
Time of Update: 2016-11-11
<p>使用PHP開發應用程式,尤其是網站程式,常常需要產生隨機密碼,如使用者註冊產生隨機密碼,使用者重設密碼也需要產生一個隨機的密碼。隨機密碼也就是一串固定長度的字串,這裡我收集整理了幾種產生隨機字串的方法,以供大家參考。 <br/>php產生隨機密碼的方法一: <br/><br/>1、在 33 – 126 中產生一個隨機整數,如 35, <br/><br/>2、將 35
Time of Update: 2016-11-11
<p>前段時間在試用php本地測試的時候用的gbk的,預設的還可以用,可是這次換了utf-8編碼的了,糾結呀。。 <br/>產生的xml讀不出來了。... <br/><br/>其實用php產生UTF-8的檔案沒有什麼特別的,只要把我們執行的那個PHP檔案改成UTF-8編碼儲存起來,然後頁面內容也用UTF-8的編碼就可以了。 <br/><br/>代碼如下: 
Time of Update: 2016-11-11
關於上傳原理和簡單的上傳操作:1、Form標籤enctype屬性表單中enctype="multipart/form-data"是用於設定表單的MIME編碼。預設情況,這個編碼格式是application/x-www-form-urlencoded,不能用於檔案上傳;只有使用了multipart/form-data且提交方式為Post才能完整的傳遞檔案資料。2、MAX_FILE_SIZE 隱藏欄位MAX_FILE_SIZE
Time of Update: 2016-11-10
學習了半年的Regex,也不能說一直學習吧,就是和它一直在打交道,如何用Regex解決自己的問題,並且還要考慮如何在匹配大量的文本時去最佳化它。慢慢的覺得正則已經成為自己的一項技能,逐漸的從一個Regex小白變成一個偽精通者。new RegExp 和 // 正則對象建立區別如果寫過 Python 的同學,都一定會知道 Python 中可以在字串前面加個小寫 r ,來表示防止轉義。防止轉義的意思就是說: str = r'\t' 等價於 str = '\\t'
Time of Update: 2016-11-12
1、this是指向當前對象的指標如:同class裡面的其他函數可以用 this->函數名 調用。2、self是指向當前類的指標一般self使用來指向類中的靜態變數,還要注意使用self來調用靜態變數必須使用:: (域運算子號)如:self::$firstCount; //使用self來調用靜態變數3、parent是指向父類的指標一般我們使用parent來調用父類的建構函式如:parent::__construct( "PBPHome");
Time of Update: 2016-11-12
啥是註冊表模式?其實很簡單!註冊表的作用是提供系統層級的對象訪問功能。我們在編碼時通常把“全域變數是不好的”當做信條。不過,凡事都有兩面性,全域性的資料訪問非常具有吸引力。問題來了:大多系統都分為幾個層,每個層都只通過事先定義好的通道和相鄰的層交流。對層的分享使程式變得靈活,替換或修改每個層可以最小化對系統其他部分的影響。但當你需要在一個層中擷取不相鄰另一個層所需要的資訊時,該如何?方案一:通過系統的層之間的聯絡將上下文資訊從一個對象傳遞給另一個需要的對象:在系統中把這些資訊從一個對象傳遞到另一
Time of Update: 2016-11-11
下面為大家介紹一個運用自己電腦當成伺服器,然後開發一個簡單的php聊天室程式的方法: 首先:要先把你的php聊天室程式上傳到IIS上面,讓其能正常運行程式;也可以裝一個apache,如果不會裝可以百度下“如何裝apache”。其次:建議各位對聊天室程式開發的朋友們去學習網頁製作技術,這個技術很簡單的,很快能上手,我這樣和你說你也聽不懂,不是嗎?最後:可以去qq申請加入相關的一些聊天室開發群繼續進行互動和交流,絕對會對你的成長有很大的協助的。