Time of Update: 2016-07-13
在很多時間我們php中的很多函數是沒有用上的,而且對網站有存在很大的安全問題,下面我們利用PHP.ini 裡有個 disable_functions 開關選項來關閉一些不需要使用的函數。如果禁止了會出現如下提示Warning: phpinfo() has been disabled for security reasons屏蔽函數執行個體: 代碼如下複製代碼 disable_functions= phpinfo,dl, exec, system
Time of Update: 2016-07-13
文章介紹了大致的關於如何在 php.ini中做一些常用的安全配置,有需要的同學可參考一下。(1)開啟php的安全模式php的安全模式是個非常重要的內嵌的安全機制,能夠控制一些php中的函數,比如system(),同時把很多檔案操作函數進行了許可權控制,也不允許對某些關鍵字檔案的檔案,比如/etc/passwd,但是預設的php.ini是沒有開啟安全模式的,我們把它開啟:safe_mode =
Time of Update: 2016-07-13
有個前提條件是我們的頁面必須是php類型的頁面,如果你產生了html靜態頁面這種方法就不可行了哦,下面我們來看看php實現禁止IP段訪問網站的代碼. 代碼如下複製代碼 //加IP訪問限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $userip = getenv('HTTP_CLIENT_IP'); }
Time of Update: 2016-07-13
大家都知道使用$_REQUEST可以直接省去了判斷post,get一些代碼,使用起來更簡單,但是如果要詳細的去想我們會覺得$_REQUEST太可怕了。下面看分析。我們都知道,處理表單資料,可以使用PHP的$_GET和$_POST這兩個超全域變數,具體是哪個由form表單提交時的method指定。除此之外PHP還為我們提供了$_REQUEST數組。但是其不僅包含$_GET和$_POST的所有資料元素,同時其還會包含$_COOKIE這個超全域數組的所有資料元素。可是大家有沒有想過,如果這三個數組裡面
Time of Update: 2016-07-13
還記得我之前說的PHP Hash Collisions Ddos漏洞吧? 最初的時候, 開發組給出的修複方案, 採用的是如果超過max_input_vars, 就報錯(E_ERROR), 繼而導致PHP出錯結束. 而後來, 為了更加輕量級的解決這個問題, 我們又改善了一下, 變成了如果超過max_input_vars, 就發出警告(E_WARNING), 並且不再往目的數組添加, 但是流程繼續. 然後我們發布了5.3.9.這個新的修複方法初衷是好的,
Time of Update: 2016-07-13
文章介紹了兩個給php程式自身加密的方法,我們常的方法base64_encode(gzdeflate($contents))這樣來加密了,第二種方法不多見有需要的朋友也可以參考一下。執行個體1 代碼如下複製代碼 function encode_file_contents($filename) { $type=strtolower(substr(strrchr($filename,'.'),1)); if('php'==$type && is_file($filename) && is_
Time of Update: 2016-07-13
對於sql注入與防注入其實就是一個攻與防的,今天我們要告訴大家最基本的注入和防止方法,原理都是利用了php或mysql的一些特性而我們沒注意所造成的。一個簡單的SQL注入攻擊案例假如我們有一個公司網站,在網站的後台資料庫中儲存了所有的客戶資料等重要訊息。假如網站登入頁面的代碼中有這樣一條命令來讀取使用者資訊。 代碼如下複製代碼 $q = "SELECT `id` FROM `users` WHERE `username`= ' " .$_GET['username']. " '
Time of Update: 2016-07-13
為php環境的朋友分享一下關於php需要禁止一些危險函數,朋家可以根據自己的需求來禁止一下不用的功能函數。phpinfo()功能描述:輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。危險等級:中passthru()功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。危險等級:高exec()功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)。危險等級:高system()功能描述:允許執行一個外部程式並回顯輸出,類似於
Time of Update: 2016-07-13
開啟magic_quote_gpc=on之後,能實現addslshes()和stripslashes()這兩個函數的功能。在PHP4.0及以上的版本中,該選項預設情況下是開啟的,所以在PHP4.0及以上的版本中,就算PHP程式中的參數沒有進行過濾,PHP系統也會對每一個通過GET、POST、COOKIE方式傳遞的變數自動轉換,換句話說,輸入的注入攻擊代碼將會全部被轉換,將給攻擊者帶來非常大的困難。 雖然如此,攻擊者仍然有機會進行SQL注入攻擊。。。。。。前提是,當參數為數字型的時候,
Time of Update: 2016-07-13
這是我自己碰到的問題,在一台機器出現了apache
Time of Update: 2016-07-13
我們舉例只講linux的系統,但是防止方法在任何系統都是有效,下面我們先來看看等操作你可以這樣使用 代碼如下複製代碼 http://www.xxx.com/index.php?page=../etc/passwd http://www.xxx.com/index.php?page=../../../etc/passwd http://www.xxx.com/index.php?page=..../../etc/passwd擷取更多資料: etc/profile
Time of Update: 2016-07-13
PHP本身再老版本有一些問題,比如在 php4.3.10和php5.0.3以前有一些比較嚴重的bug,所以推薦使用新版。另外,目前鬧的轟轟烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保證安全,PHP代碼編寫是一方面,PHP的配置更是非常關鍵。我們php手手工安裝的,php的預設設定檔在
Time of Update: 2016-07-13
本文章利用三個檔案來簡單的講了一下關於php中怎麼去應用中文驗證碼,中文因為是漢字可能出現亂碼所以我們就定義了一個檔案來專門處理,有需要的朋友可以參考下。 代碼如下複製代碼 /* * 檔案:chinesechar.php * 作用:漢字資料儲存 */ $ChineseChar = array("人","出","來","友","學","孝","仁","義","禮","廉","忠","國","中","易","白","者","火 ","土","金","木","雷","
Time of Update: 2016-07-13
一個比較實用的php圖形驗證碼產生類,調用方法也很簡單的,有需要的朋友可以參考一下。 代碼如下複製代碼 class ImageCode{ private $width;//驗證碼圖片寬度 private $height;//驗證碼圖片高度 private $codeNum;//驗證碼字元個數 private $checkCode;//驗證碼字元 private $image;//驗證碼畫布 function
Time of Update: 2016-07-13
SQL注入攻擊是駭客攻擊網站最常用的手段。如果你的網站沒有使用嚴格的使用者輸入檢驗,那麼常容易遭到SQL注入攻擊。SQL注入攻擊通常通過給網站資料庫提交不良的資料或查詢語句來實現,很可能使資料庫中的紀錄遭到暴露,更改或被刪除。 為了防止SQL注入攻擊,PHP內建一個功能可以對輸入的字串進行處理,可以在較底層對輸入進行安全上的初步處理,也即Magic Quotes。(php.ini
Time of Update: 2016-07-13
文章介紹了關於php 自訂加密解密,很多朋友都是用php內建的,我們如果自己寫個會怎麼樣呢,下面看代碼。 代碼如下複製代碼 // 說明:PHP 寫的加密函數,支援私人密鑰 // 整理:http://www.bKjia.c0m function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = ""; for ($i=0;$i {
Time of Update: 2016-07-13
PHP 的 Mcrypt 加密庫又需要額外設定,很多人都是直接使用md5()函數加密,這個方法的確安全,但是因為md5是無法復原加密,無法還原密碼,因此也有一些不便之處,本文介紹加密函數支援私密金鑰,用起來還是不錯的 代碼如下複製代碼 // 說明:PHP 寫的加密函數,支援私人密鑰 function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = "";
Time of Update: 2016-07-13
本文章介紹了關於利用了php的ase64_encode和urlencode來對字串進行簡單的加密處理,也是比較常用的方法,有需要的同學可參考一下本文章哦。base64_decode將 BASE64 編碼字串解碼。文法: string base64_decode(string encoded_data);傳回值: 字串函數種類: 編碼處理 內容說明本函數將以 MIME BASE64 編碼字串解碼。解碼後的字串可能為中文字串或其它的二進位資料。例 代碼如下複製代碼 $str =
Time of Update: 2016-07-13
本產生程式需要調用一些字型庫哦,你可以調用你系統內建的一些字型,當然也可以像dedecms一樣自己把字型放到一個目錄,這樣在伺服器上也可以使用了。 代碼如下複製代碼 public function captcha(){ $font_dir = $_SERVER ["DOCUMENT_ROOT"] . "your_ttf_file.ttf"; // 字型庫 $img_w = 58; // 設定圖片寬 $img_h = 20; // 設定圖片高 $font_size = 11; //
Time of Update: 2016-07-13
利用php自身帶的函數來實現圖片驗證碼產生功能,有需要的朋友可以參考一下。//must start or continue session and save CAPTCHA string in $_SESSION for //it to be available to other requests if(!isset($_SESSION)){ session_start(); header('Cache-control:private'); } //create a 65*20 pixel