Time of Update: 2016-07-21
事實上,Zend Studio(後面我簡稱“ZDE”了)的調試功能分為內部調試和遠端偵錯。內部調試是用ZDE內建的PHP(有4、5兩個版本)進行的代碼初步調試,我們把重點放在遠端偵錯上,因為它可以完全類比一個真實的運行環境。遠端偵錯需要伺服器端的組件支援,我們今天的內容就是怎麼來安裝這個伺服器端調試環境,用到的調試組件是Zend
Time of Update: 2016-07-21
幾乎所有的cgi程式都有這樣的 bug,只是具體的表現方式不一樣罷了。 一、涉及到的危險函數〔include(),require()和include_once(),require_once()〕 include() && require()語句:包括並運行指定檔案。 這兩種結構除了在如何處理失敗之外完全一樣。include() 產生一個警告而 require() 則導致一個致命錯誤。換句話說,如果你想在遇到丟失檔案時停止處理頁面就用 require()。include()
Time of Update: 2016-07-21
1.如果一個方法可靜態化,就對它做靜態聲明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連。 4.在執行for迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值。 5.登出那些不用的變數尤其是大數組,以便釋放記憶體。 6.盡量避免使用__get,__set,__autoload。 7.require_once()代價昂貴。 8.在包含檔案時使用完整路徑,解析作業系統路徑所需的時間會更少。 9.如果你想知道指令碼開始執行(
Time of Update: 2016-07-21
也就是 有BOM 格式編碼,或者 無BOM格式編碼。 如果看檔案的內容,是看不出任何差別的,以下列檔案(schema.sqlite.sql)內容為例: schema.sqlite.sql 複製代碼 代碼如下: CREATE TABLE guestbook ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, email VARCHAR(32) NOT NULL DEFAULT 'noemail@test.com', comment TEXT NULL,
Time of Update: 2016-07-21
暴欄位長度Order by num/*匹配欄位and 1=1 union select 1,2,3,4,5…….n/*暴欄位位置and 1=2 union select 1,2,3,4,5…..n/*利用內建函數暴資料庫資訊version() database() user() 不用猜解可用欄位暴資料庫資訊(有些網站不適用):and 1=2 union all select version() /*and 1=2 union all select database() /*and 1=2
Time of Update: 2016-07-21
PHP批最取得checkbox的值 1、命名 2、使用 當計劃當作sql指令的一部分時:如果參與控制的欄位是數值型的,則 if(! empty($_POST['checkbox'])) { $expr = join(",", $_POST['checkbox']); $sql = "select * from tbl_name where field in ($expr)"; } 如果參與控制的欄位是數值型的,則 if(! empty($_POST['checkbox'])) { $expr
Time of Update: 2016-07-21
一.前言: 版本資訊:Okphp BBS v1.3 開源版 由於PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困難,尤其是注射時語句的構造方面更是個痛點,本文主要是借對Okphp BBS v1.3一些檔案得簡單分析,來談談php+mysql注射語句構造方式,希望本文對你有點協助。 聲明:文章所有提到的“漏洞”,都沒有經過測試,可能根本不存在,其實有沒有漏洞並不重要,重要的是分析思路和語句構造。 二.“漏洞”分析:
Time of Update: 2016-07-21
這是稍微有經驗的phper 都會採用如下方式來解決問題 1. 看錯誤輸出, 從輸出項 反查源碼,在源碼處上下文加入調試代碼,代碼可以是最簡單的 $debuglineno = __LINE__; die($debuglineno); 2. 根據錯誤輸出 Google 之 或者 百度一下 錯誤的做法: 1. 直接問你的上級,或者同事 2. 直接!上論壇求助 而不是首先經過自己排查 3.
Time of Update: 2016-07-21
你總不至於在使用者要上傳頭像的時候告訴使用者”請開啟FTP用戶端,上傳檔案到http://www.jb51.net/uploads/中, 並以2dk433423l.jpg命名”吧? 而基於HTTP的上傳,相對來說易用性和安全性上就比FTP要增強了很多. 可以應用的上傳方式有PUT, WEBDAV, 和RFC1867三種, 本文將分析在PHP中,是如何基於RFC1867實現檔案上傳的. RFC1867RCF1867是Form-based File Upload in HTML標準協議, RFC18
Time of Update: 2016-07-21
hi 各位免費火車頭採集器的采友: 火車頭免費版本不支援採集結果的外掛處理,比如採用php來輔助處理結果,而火車頭本身對於Regex的不完整支援, 導致對於採集一些有混淆文字的內容效果不好,那麼咱們怎麼做到過濾那些混淆字串呢? 其實很簡單--採用伺服器端過濾 比如採集發送到伺服器端是: $_POST = array("subject"=> "這裡是標題","content"=> "混淆文字這裡是內容"); 在伺服器端我們稍加處理: $_POST["content"] =
Time of Update: 2016-07-21
呃,其實大部分情況下是可以的,而有些方面還是令人非常的困擾,下面慢慢道來。 很多語言的都提供了非常優雅和漂亮的運算元組的方法。在下面的例子中,會使用 PHP5.3 以及其他語言提供的閉包功能,用於展示如何“客觀的”操作迭代數組。 譯註:原文作者比較火星,我不瞭解 Groovy 以及 Scala 語言,所以這裡我加上 Javascript 的實現。 在開始之前先說明下,本例子僅僅是闡明觀點,並沒有考慮效能等其他方面的因素。 “貨比三家” 用個簡單的例子開始,有下面個數組: $nums =
Time of Update: 2016-07-21
範例程式碼1: 用file_get_contents 以get方式擷取內容 複製代碼 代碼如下:$url='http://www.baidu.com/'; $html=file_get_contents($url); //print_r($http_response_header); ec($html); printhr(); printarr($http_response_header); printhr(); ?> 範例程式碼2: 用fopen開啟url, 以get方式擷取內容 複製代碼
Time of Update: 2016-07-21
就是contains這個函數,書上介紹說這個函數是按照元素的內容來來篩選選擇的元素集,當我運行代碼的時候老是報錯,後來發現是函數庫裡沒有這個函數,於是自己寫了這個函數。 代碼如下: 複製代碼 代碼如下: function yhCheckIsIncludingValue(element , pattern) { var bool = false; var childrenNodes = element.childNodes; if (childrenNodes.length == 0) { if
Time of Update: 2016-07-21
phpmailer v5.1下載 A開頭: $AltBody--屬性 出自:PHPMailer::$AltBody 檔案:class.phpmailer.php 說明:該屬性的設定是在郵件內文不支援HTML的備用顯示 AddAddress--方法 出自:PHPMailer::AddAddress(),檔案:class.phpmailer.php 說明:增加收件者。參數1為收件者郵箱,參數2為收件者稱呼。例
Time of Update: 2016-07-21
複製代碼 代碼如下: $fp = fopen('d:/file.txt', 'r+'); if ($fp) { $i = 1; while (!feof($fp)) { //修改第二行資料 if ($i == 2) { fseek($fp, 2, SEEK_CUR); fwrite($fp, '#'); break; } fgets($fp); $i++; } fclose($fp); }
Time of Update: 2016-07-21
開源解決方案可以給你很大的協助,比如:開原始碼是由很多人一起完成的,因此往往比一個人完成的結果要好。 你可以獲得免費的代碼更新和升級,否則你需要自己來寫這些新的內容。 你節省了開發時間,同時提高了項目的品質
Time of Update: 2016-07-21
大家可以參考下面的這篇文章http://www.jb51.net/article/6488.htmSQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 資料用逗號隔開。 表單: 複製代碼 代碼如下: 好$ID_Dele=$_POST['ID_Dele']將會是一個數組,雖然說PHP是弱類型的,但這裡可沒ASP弱。 ASP可以直接: SQL="delete from [doing] where id in ('"&
Time of Update: 2016-07-21
首先是首頁,包含一個文本輸入和一個顯示聊天內容的iframe,還有一個隱藏iframe用來提交form表單: 複製代碼 代碼如下: //chat.php header('cache-control: private'); header('Content-Type: text/html; charset=utf-8'); ?> 另外一個就是儲存使用者提交的聊天內容了,我簡單的寫一下文本,而且沒有做什麼鎖定,這個只是簡易版本: 複製代碼 代碼如下: $content = trim($_
Time of Update: 2016-07-21
花了兩個多鐘在看 ThinkPHP 架構,不想太過深入的知道它的所有高深理論。單純想知道怎麼可以用起來,可以快捷的搭建一個網站。所以是有選擇的看,二個鐘後還是一頭霧水。於是決定改變學習策略,上官方論壇看其它高人寫的民間教程,果然比官方的通俗易懂多了。http://bbs.thinkphp.cn/forumdisplay.php?fid=6 (官方論壇) ThinkPHP 有很多函數通過參數拼湊的方式來組合SQL,如下:$list = $test->findall('',$fields,'id
Time of Update: 2016-07-21
format 參數的可能值: a - NUL-padded string A - SPACE-padded string h - Hex string, low nibble first H - Hex string, high nibble first c - signed char C - unsigned char s - signed short (always 16 bit, machine byte order) S - unsigned short (always 16 bit,