Time of Update: 2017-01-13
變數轉成整數類型。文法: int intval(mixed var, int [base]);傳回值: 整數函數種類: PHP 系統功能 內容說明本函數可將變數轉成整數類型。可省略的參數 base 是轉換的基底,預設值為 10。轉換的變數 var
Time of Update: 2017-01-13
(1) 開啟php的安全模式 php的安全模式是個非常重要的內嵌的安全機制,能夠控制一些php中的函數,比如system(), 同時把很多檔案操作函數進行了許可權控制,也不允許對某些關鍵檔案的檔案,比如/etc/passwd, 但是預設的php.ini是沒有開啟安全模式的,我們把它開啟: safe_mode = on (2) 使用者組安全 當safe_mode開啟時,safe_mode_gid被關閉,那麼php指令碼能夠對檔案進行訪問,而且相同 組的使用者也能夠對檔案進行訪問。
Time of Update: 2017-01-13
百度一下。設定open_basedir後只有指定的目錄和子目錄下的php指令碼才會被執行。用php讀取open_basedir以外的目錄或檔案會報錯許可權不足一般虛擬機器主機供應商都是設定為/tmp和/home這是使用者習慣了,我們要想辦法解決這些問題了,下面總結了一些php安全問題。1.include的時候要小心,要判斷你本地是否有這個檔案,以免造成安全性漏洞。比如: 代碼如下複製代碼 <?php include
Time of Update: 2017-01-13
1: 基礎型, include $module.'.php'; $module假如直接用GET上得到, 那這是個非常毀滅性的bug, linux下讓你痛不欲生, windows下讓你傾家當產, 這類安全性一般都會被人直接發現, 而有效地阻止. 假如你連這點都沒做到, 請問你是否稱得上合格的程式員? 2: 質的安全. 許多人會說, 外部變數應該addslashes一次,
Time of Update: 2017-01-13
(1)開啟php的安全模式php的安全模式是個非常重要的內嵌的安全機制,能夠控制一些php中的函數,比如system(),同時把很多檔案操作函數進行了許可權控制,也不允許對某些關鍵字檔案的檔案,比如/etc/passwd,但是預設的php.ini是沒有開啟安全模式的,我們把它開啟:safe_mode =
Time of Update: 2017-01-13
代碼如下複製代碼 <?php //加IP訪問限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $userip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_
Time of Update: 2017-01-13
我們都知道,處理表單資料,可以使用PHP的$_GET和$_POST這兩個超全域變數,具體是哪個由form表單提交時的method指定。除此之外PHP還為我們提供了$_REQUEST數組。但是其不僅包含$_GET和$_POST的所有資料元素,同時其還會包含$_COOKIE這個超全域數組的所有資料元素。可是大家有沒有想過,如果這三個數組裡面的key相同,那麼我用$_REQUEST得到的到底是哪個數組的值呢?會不會有什麼問題?我用如下代碼為大家做示範,因為只是想說明問題,所以這裡面不對$_COOKIE
Time of Update: 2017-01-13
這個新的修複方法初衷是好的, 但是卻帶來一個嚴重的問題(5.3.10中已經修複), 這個問題最初是由Stefan Esser發現的. 請看之前(5.3.9)最終的修複方案(php_register_variable_ex): 代碼如下複製代碼 while (1) { if (zend_symtable_find(symtable1, escaped_index, index_len + 1, (void **)
Time of Update: 2017-01-13
當然addslashes也不是毫無用處,它是用於單位元組字串的處理,多位元組字元還是用mysql_real_escape_string吧。開啟magic_quotes_gpc來防止SQL注入php.ini中有一個設定:magic_quotes_gpc = Off 這個預設是關閉的,如果它開啟後將自動把使用者提交對sql的查詢進行轉換, 比如把 ' 轉為 '等,對於防止sql注射有重大作用。
Time of Update: 2017-01-13
驗證碼識別一般分為以下幾個步驟:1. 取出字模2. 二值化3. 計算特徵4. 對照樣本 代碼如下複製代碼 function _code($_code_length = 4, $_width = 75, $_height = 25){ for($i=0;$i<$_code_length;$i++){ $_nmsg .= dechex(mt_rand(0,
Time of Update: 2017-01-13
驗證碼產生程式我這裡就不介紹了,大家可參考http://www.111cn.net/phper/phpanqn/46698.htm 下面介紹一個簡單的 代碼如下複製代碼 <?php session_start(); //設定: 你可以在這裡修改驗證碼圖片的參數 $image_width = 120; $image_height = 40; $characters_on_image = 6; $font = './monofont.ttf';
Time of Update: 2017-01-13
PHP驗證碼並產生圖片程式,採用了session識別,稍微改進了一下目前網路上流傳的PHP驗證碼,加入雜點,數字顏色隨機顯示,控制4位元字顯示;話不多說了,程式如下,分享出來。建立yz.php驗證碼組建檔案:注意:以下代碼需要開啟php的GD庫,修改php.in檔案的配置,把已經注釋掉的行之前的分號取消即可:extension=php_gd2.dll。 代碼如下複製代碼 <?php class ValidationCode
Time of Update: 2017-01-13
執行個體 代碼如下複製代碼 $this->load->library ( 'pagination' );$config ['base_url'] = site_url () . '/guest/show';$config ['total_rows'] = $c;$config ['per_page'] = $pernum = 15;$config ['uri_segment'] = 3;$config ['use_page_numbers'] =
Time of Update: 2017-01-13
php防盜鏈 代碼如下複製代碼 <?phpsession_start();session_register(‘check’);$_SESSION[‘check’]=true;?> 檢查session變數,判斷是否造訪首頁。並且檢查他的來源網頁參考(HTTP_REFERER)是否來自以磁碟為基礎的網站的網頁。方法如下: 代碼如下複製代碼 <?phpsession_start();$refs
Time of Update: 2017-01-13
思路:一、把關鍵字專門寫在一個文字檔裡,每行一個,數量不限,有多少寫多少。二、PHP讀取關鍵字文本,存入一個數組三、遍曆關鍵字數組,挨個用strpos函數去看看內容有沒有關鍵字,如果有,返回true,沒有則返回falsePHP代碼如下: 代碼如下複製代碼 /* PHP中用strpos函數過濾關鍵字 */// 關鍵字過濾函數function keyWordCheck($content){// 去除空白$content = trim($content);//
Time of Update: 2017-01-13
為了安全起見,可以開啟“php.ini”檔案的安全模式,設定“safe_mode=On”;顯示 PHP 執行錯誤資訊的 “display_erros”選項如果開啟的話,將會返回很多可利用的資訊給入侵者,因此要將其設定為“display_erros=off”;這樣,PHP 函數執行錯誤後的資訊將不會在用戶端的瀏覽器中進行顯示。
Time of Update: 2017-01-13
代碼如下複製代碼 <?php//查詢禁止IP$ip
Time of Update: 2017-01-13
瀏覽器的安全缺陷現在的Web應用程式幾乎都是使用Cookie來識別使用者身份以及儲存工作階段狀態,但是所有的瀏覽器在最初加入Cookie功能時並沒有考慮安全因素,從 WEB頁面產生的檔案請求都會帶上COOKIE,如下圖所示,Web頁面中的一個正常的圖片所產生的請求也會帶上COOKIE:<img src=”yun_qi_img/logo.jpg”>GET yun_qi_img/log.jpgCookie: session_id用戶端 ——
Time of Update: 2017-01-13
基本的錯誤處理:使用 die() 函數第一個例子展示了一個開啟文字檔的簡單指令碼: 代碼如下複製代碼 <?php$file=fopen("welcome.txt","r");?> 如果檔案不存在,您會獲得類似這樣的錯誤:Warning: fopen(welcome.txt) [function.fopen]: failed to open stream: No such file or directory in
Time of Update: 2017-01-13
假設php目錄為/usr/local/phpmysql目錄為/usr/local/mysql1. 進入PHP源碼包ext/pdo目錄cd ext/pdo2. 執行/usr/local/php/bin/phpize[假設PHP的安裝目錄為/usr/local/php]/usr/local/php/bin/phpize3. 配置擴充pdo./configure --with-php-config=/usr/local/php/bin/php-config --enable-pdo=shared4.