Time of Update: 2017-01-13
執行個體1 代碼如下複製代碼 <?php function encode_file_contents($filename) { $type=strtolower(substr(strrchr($filename,'.'),1)); if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP檔案 並且可寫 則進行壓縮編碼 $contents =
Time of Update: 2017-01-13
SQL注入攻擊的總體思路·發現SQL注入位置; ·判斷後台資料庫類型; ·確定XP_CMDSHELL可執行情況 ·發現WEB虛擬目錄 ·上傳ASP,php,jsp木馬; ·得到管理員權限;<?PHP //PHP整站防注入程式,需要在公用檔案中require_once本檔案 //判斷magic_quotes_gpc狀態 代碼如下複製代碼 if (@get_magic_quotes_gpc
Time of Update: 2017-01-13
一個簡單的SQL注入攻擊案例假如我們有一個公司網站,在網站的後台資料庫中儲存了所有的客戶資料等重要訊息。假如網站登入頁面的代碼中有這樣一條命令來讀取使用者資訊。 代碼如下複製代碼 <?$q = "SELECT `id` FROM `users` WHERE `username`= ' " .$_GET['username']. " ' AND `password`= ' " .$_GET['password']. " '
Time of Update: 2017-01-13
代碼如下複製代碼 <? /************************* 說明: 判斷傳遞的變數中是否含有非法字元 如$_POST、$_GET 功能: 防注入 *************************/ //要過濾的非法字元 $ArrFiltrate=array("'","or","and",
Time of Update: 2017-01-13
為了防止SQL注入攻擊,PHP內建一個功能可以對輸入的字串進行處理,可以在較底層對輸入進行安全上的初步處理,也即Magic Quotes。(php.ini magic_quotes_gpc)。如果magic_quotes_gpc選項啟用,那麼輸入的字串中的單引號,雙引號和其它一些字元前將會被自動加 上反斜線。 但Magic Quotes並不是一個很通用的解決方案,沒能屏蔽所有有潛在危險的字元,並且在許多伺服器上Magic
Time of Update: 2017-01-13
代碼如下複製代碼 <?php // 說明:PHP 寫的加密函數,支援私人密鑰 function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = ""; for
Time of Update: 2017-01-13
base64_decode將 BASE64 編碼字串解碼。文法: string base64_decode(string encoded_data);傳回值: 字串函數種類: 編碼處理 內容說明本函數將以 MIME BASE64 編碼字串解碼。解碼後的字串可能為中文字串或其它的二進位資料。例 代碼如下複製代碼 <?php$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';echo base64_decode($str)
Time of Update: 2017-01-13
方法一:密碼比對思路:首先通過使用者輸入的使用者名稱去查詢資料庫,得到該使用者名稱在資料庫中對應的密碼,再將從資料庫中查詢到的密碼和使用者提交過來的密碼進行比對。代碼: 代碼如下複製代碼 $sql="select password from users where username='$name'";
Time of Update: 2017-01-13
一、【php對外發包問題】客戶說自己的vps對外發包嚴重,我司機房人員查看監控,截圖如下: 在這樣下去客戶的機器肯定會造成ping值不穩定,甚至伺服器崩潰。二、【分析問題】經分析發現,這些發包的PHP程式都使用了fsockopen()這個函數。強烈建議您修改php.ini檔案,關閉這個函數,95%以上的程式是不需要這個函數的,個別程式如淘寶客、Ucenter、部分API程式等才需要使用這個函數。如果關閉這個函數,發包程式徹底失效,極大的增強了伺服器的安全層級。1. 關閉這個函數的流程,
Time of Update: 2017-01-13
雖然如此,攻擊者仍然有機會進行SQL注入攻擊。。。。。。前提是,當參數為數字型的時候,且未經過Intval()函數的處理,因為經過intval()的處理之後,所有的資料就都會強制轉換成數字。
Time of Update: 2017-01-13
我們php手手工安裝的,php的預設設定檔在 /usr/local/apache2/conf/php.ini,我們最主要就是要配置php.ini中的內容,讓我們執行php能夠更安全。整個PHP中的安全設定主要是為了防止phpshell和SQL Injection的攻擊,一下我們慢慢探討。我們先使用任何編輯工具開啟/etc/local/apache2/conf/php.ini,如果你是採用其他方式安裝,設定檔可能不在該目錄。(1) 開啟php的安全模式php的安全模式是個非常重要的內嵌的安全機制,
Time of Update: 2017-01-13
代碼如下複製代碼 function encrypt_str( $TXT, $KEY ) { srand( ( double )microtime( ) * 1000000 ); $ENCRYPT_KEY = md5( rand( 0, 32000 ) );
Time of Update: 2017-01-13
代碼如下複製代碼 <?phpif(get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : (isset($
Time of Update: 2017-01-13
代碼如下複製代碼 <?php // 說明:PHP 寫的加密函數,支援私人密鑰 // 整理:http://www.111cn.net function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = "";
Time of Update: 2017-01-13
PHP包括其他任何網路程式設計語言的安全性,具體表現在本地安全性和遠程安全性兩個方面,這裡我們應該養成如下的幾個習慣確保我們的PHP程式本身是安全的。1、
Time of Update: 2017-01-13
下面代碼儲存成MD5Crypt.class.php檔案 代碼如下複製代碼 <?php class MD5Crypt { /** * Enter description here ... * @param unknown_type $str * @return string */ public final static function mdsha($str) { $code = substr ( md5 ( $str ), 10 ); $code .= substr (
Time of Update: 2017-01-13
代碼如下複製代碼 <?php public function captcha(){ $font_dir = $_SERVER ["DOCUMENT_ROOT"] . "your_ttf_file.ttf"; // 字型庫 $img_w = 58; // 設定圖片寬 $img_h = 20; // 設定圖片高 $font_size = 11; // 字型大小 $angle_l = -10; // 左偏角 $angle_
Time of Update: 2017-01-13
/* * Auth_code()是驗證碼函數 * @access public * @param int $width 表示驗證碼的長度,預設為80 * @param int $height 表示驗證碼的高度,預設為20 * @param int $num 表示驗證碼中數字位元,預設為4 * @param int $line 表示驗證碼中線的條數,預設為4 * @
Time of Update: 2017-01-13
代碼如下複製代碼 代碼如下:<?php /* 網站驗證碼程式 * 運行環境: PHP5.0.18 下調試通過 * 需要 gd2 圖形庫支援(PHP.INI中 php_gd2.dll開啟) * 檔案名稱:
Time of Update: 2017-01-13
最近,一台生產中的伺服器(CentOS 5.2 64位 4G記憶體),老是出現網站打不開,登入到伺服器上查看,發現Nginx和php-cgi都在運行,和平時不同的是此時php-cgi的 cpu佔用為0,馬上查看檔案控制代碼數限制ulimit -n得到的結果是:1024,這個值對生產中的服務顯得偏小。網上給出的解決方案,大部分是直接輸入ulimit -SHn 51200 #