Time of Update: 2016-07-13
做web開發以來作者經常接到給人家網站做安全升級這種活兒,而接到的這些活兒中,大部分都是通過織夢cms搭建起來的網站,由於被攻擊導致這樣那樣的問題。下面作者對於使用織夢cms搭建的網站的推薦幾種簡單有效安全做法,歡迎大家指正。1、更改資料庫表的首碼萬用字元這裡說的首碼萬用字元不是指安裝時輸入的資料庫表名的首碼,而是指系統源碼中的“#@_”字串。我曾經在自己一個被黑的網站中看到很多來路不明的檔案中寫了很多直接操作資料庫的代碼,這其中對錶的操作就都包含了“#@_”字串,如果我們修改了源碼中的“#@_
Time of Update: 2016-07-13
(1)伺服器不能使用smtp的形式發送郵件解決辦法:很多網站列出的解決辦法說是因為smtp大小寫問題,雖然問題的本質不在這裡,但確實也需要改這個地方,至於為什麼,看下面的操作。在 class.phpmailer.php 中,將:function IsSMTP(){$this->Mailer='smtp';}改成:function IsSMTP(){$this->Mailer = 'SMTP';}這個地方的修改不是使用了smtp來發送郵件,而是使用了另外一種方式發送郵件,檢查
Time of Update: 2016-07-13
自己用php寫的產生會員帳號功能,僅供參考,代碼如下:function get_number($table,$filed){if(!isset($table) || !isset($filed)){return '';}if(trim($table)=='' || trim($filed)==''){return '';}global $db;$user_number=str_shuffle(substr(randomname(-5),11));$sql="select `id` from `"
Time of Update: 2016-07-13
搭建apache+php開發環境,apache一路正常安裝,但是,下載的php搭建後,配置好apache、php,始終報錯“The requested operation has failed!”換了幾個版本的php依舊不行。換了php-5.3.28-Win32-VC9-x86、php-5.4.5-nts-Win32-VC9-x86、php-5.4.28-Win32-VC9-x86、php-5.5.12-Win32-VC11-x86還是這個錯誤。偶爾查到一篇文章http:
Time of Update: 2016-07-13
在PHP程式運行過程中如果有錯誤發生,在瀏覽器上是否顯示錯誤資訊,以及顯示錯誤資訊的層級是我們在程式開發、調試、運營過程中需要控制的。下面就通過設定php.ini,控制PHP錯誤資訊(errors)的屏蔽和顯示作如下說明:1、錯誤資訊是否顯示 複製代碼 代碼如下:顯示錯誤 display_errors = On 屏蔽錯誤 display_errors = Off (預設值)2、顯示錯誤資訊的層級 複製代碼 代碼如下:error_reporting = E_ALL (全部)
Time of Update: 2016-07-13
在開始之前,我們可以先看一段簡單的代碼:複製代碼 代碼如下: $foo = 1; $bar = $foo; echo $foo + $bar; ?> 執行這段代碼,會列印出數字2。從記憶體的角度來分析一下這段代碼“可能”是這樣執行的:分配一塊記憶體給foo變數,裡面儲存一個1;
Time of Update: 2016-07-13
做php編程已經有兩年之久了,現在將平時總結出來的一些比較實用的提高php效能的方法做一下總結並分享一下,歡迎新手圍觀,高手指正!1、用單引號代替雙引號來包含字串,這樣做會更快一些。因為PHP會在雙引號包圍的字串中搜尋變數,單引號則不會,注意:只有echo能這麼做,它是一種可以把多個字串當作參數的"函數"(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加上了雙引號)。2、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。3、$row['id'
Time of Update: 2016-07-13
以下由我們在信易網路公司開發項目的時候終結出的一些經驗主要參考資料:yii官網http://www.yiiframework.com/wiki/60/yii framework 提供了2套許可權訪問系統,一套是簡單的filter(過濾器)模式,另一套是複雜全面的RBAC模式,我這裡要講的是第一套(因為我也剛剛學到這裡)。如 果你有研究過YII官方的demo
Time of Update: 2016-07-13
最簡單的php語句把資料庫*.sql檔案匯入資料庫 複製代碼 代碼如下: $sql=file_get_contents("text.sql"); //把SQL語句以字串讀入$sql $a=explode(";",$sql); //用explode()函數把$sql字串以“;”分割為數組 foreach($a as $b){ //遍曆數組 $c=$b.";"; //分割後是沒有“;”的,因為SQL語句以“;”結束,所以在執行SQL前把它加上 mysql_query($c);
Time of Update: 2016-07-13
複製代碼 代碼如下:/*** 作用:FTP操作類( 拷貝、移動、刪除檔案/建立目錄 )* 時間:2006/5/9* 作者:欣然隨風* QQ:276624915*/class class_ftp{ public $off; // 返回操作狀態(成功/失敗) public $conn_id; // FTP串連 /** * 方法:FTP串連 * @FTP_HOST -- FTP主機 * @FTP_PORT -- 連接埠 * @FTP_USER --
Time of Update: 2016-07-13
用php下載一些檔案,一般就是為了隱藏檔案的真實下載地址才需要這樣,否則這樣會增加伺服器負擔,不如直接提供軟體的地址。一個簡單的php檔案下載原始碼,雖不支援斷點續傳等,但是可以滿足一些常用的需求了。php下載檔案其實用一個a標籤就能實現,比如 magento-1.8.1.0.zip 。但是遇到一些瀏覽器能識別的格式,比如.txt,.html,.pdf等,再用abc.txt 想必也知道會發生什麼了。php /***
Time of Update: 2016-07-13
如果做一個線上的檔案管理系統的話,那麼首先必須知道怎麼讀取目錄和檔案,其實這個功能幾行代碼就可以實現了。輸出效果:實現代碼:複製代碼 代碼如下: $dir = "D:/"; //要擷取的目錄 echo "********** 擷取目錄下所有檔案和檔案夾 ***********"; //先判斷指定的路徑是不是一個檔案夾 if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = readdir($dh))!= false){
Time of Update: 2016-07-13
用php程式刪除目錄和檔案比到ftp刪除有很多優勢。首先進ftp就比較麻煩,然後刪除大量檔案的時候ftp刪除很慢,還有就是程式只想刪除檔案夾下面的檔案,而保留目錄結構,可以用php來輕鬆的實現,再有比如產生的日誌、緩衝要清除用程式來完成顯然輕鬆的多。一:刪除目錄下面的檔案,不刪除目錄複製代碼 代碼如下:function delFileUnderDir( $dirName ){ if ( $handle = opendir( "$dirName" ) ) { while (
Time of Update: 2016-07-13
原文連結:http://coderoncode.com/2013/07/24/introduction-hhvm.html“HHVM(HIpHop Virtual Machina)把PHP代碼轉換成高層次的位元組碼(普遍認為是一種中繼語言)。然後這樣的位元組碼在運行時被JIT(just-in-time)編譯器動
Time of Update: 2016-07-13
用php代碼實現Database Backup可以使網站的管理變得非常便捷,我們可以直接進後台操作就能完成資料庫的備份。關鍵技術:1. 首先要得到該資料庫中有哪些表,所用函數 mysql_list_tables(),然後可以將擷取的所有表名存到一個數組。2. show create table 表名 可以擷取表結構。3. select * from 表名 取出所有記錄,用迴圈拼接成 insert into... 語句。實現代碼:複製代碼 代碼如下:
Time of Update: 2016-07-13
一個優秀的PHP程式員除了要能順利的編寫代碼,還需要具備使程式處於安全環境下的能力。今天我們要向大家講解的是有關PHP防範SQL注入的相關方法。說到網站安全就不得不提到SQL注入(SQL Injection),如果你用過ASP,對SQL注入一定有比較深的理解,PHP的安全性相對較高,這是因為MYSQL4以下的版本不支援子語句,而且當php.ini裡的 magic_quotes_gpc 為On 時。提交的變數中所有的 ' (單引號), " (雙引號), \ (反斜線) and Null
Time of Update: 2016-07-13
原文連結:http://blogs.msdn.com/b/scottdensmore/archive/2004/05/25/140827.aspx雖然這篇文章不是我寫的,但我完全同意文章中的觀點。Brian
Time of Update: 2016-07-13
實現代碼: //將驗證碼儲存到session裡,供全域使用 session_start(); $nums = ""; for($i=0;$i //產生隨機數並轉換成十六進位 $nums.=dechex(mt_rand(0,15)); } //將驗證碼寫入session $_SESSION['code']=$nums; //設定驗證碼長和寬 $_width = 60; $_height = 20; //建立一張圖片 $_img = imagecreatetruecolor($_width,$_
Time of Update: 2016-07-13
以下由我們在信易網路公司開發項目的時候終結出的一些經驗我們可以使用renderPartial訪問儲存在不同控制器的視圖檔案夾中的部分視圖檔案。在Yii1.1.3中,我們使用雙斜線“//”,程式就會從視圖檔案夾開始搜尋,例如:protected/views/library/_book.phprenderPartial(’//library/_book’,
Time of Update: 2016-07-13
windows下開發用的xampp整合的環境,想裝個php-redis擴充,擴充的github地址: https://github.com/nicolasff/phpredis描述裡找到windows下安裝的過程: