Time of Update: 2017-01-13
如果沒有在代碼字串中調用 return 語句,則返回 NULL。如果代碼中存在解析錯誤,則 eval() 函數返回 false。文法eval(phpcode)phpcode 必需是規定要計算的 PHP 代碼。例子 代碼如下複製代碼 <?php$string = '杯子';$name = '咖啡';$str = '這個 $string 中裝有 $name.<br>';echo $str;eval( "$str = "$str";&
Time of Update: 2017-01-13
SQL注入工作原理構造一個資料庫查詢是一個非常直接的過程。典型地,它會遵循如下思路來實現。僅為說明問題,我們將假定你有一個葡萄酒資料庫表格”wines”,其中有一個欄位為”variety”(即葡萄酒類型):1. 提供一個表單-允許使用者提交某些要搜尋的內容。讓我們假定使用者選擇搜尋類型為”lagrein”的葡萄酒。2. 檢索該使用者的搜尋術語,並且儲存它-通過把它賦給一個如下所示的變數來實現:
Time of Update: 2017-01-13
何為注入?比如我們在查詢資料庫的時候,我們通過文章的id號來取出這篇文章的所有資訊。那麼SQL語句可以這樣寫: 代碼如下複製代碼 select * from blog where id=5 id的值通過使用者的操作來傳遞,一般是GET方式,形如read.php?id=5。這樣看起來是沒有任何問題,但是如果我們稍微改下SQL語句: 代碼如下複製代碼
Time of Update: 2017-01-13
變數轉成整數類型。文法: int intval(mixed var, int [base]);傳回值: 整數函數種類: PHP 系統功能 內容說明本函數可將變數轉成整數類型。可省略的參數 base 是轉換的基底,預設值為 10。轉換的變數 var
Time of Update: 2017-01-13
執行個體 代碼如下複製代碼 <?php /** * 根據原文產生簽名內容 * * @param string $data 原文內容 * * @return string
Time of Update: 2017-01-13
代碼如下複製代碼 <?php /** * 驗證簽名 * TobeVerified 待驗證簽名的密文 * PlainText 待驗證簽名的明文 * CertFile 簽名者密鑰憑證 * return 驗證成功返回true,失敗返回false(從LastErrMsg屬性擷取失敗原因) */function VerifyMsg($TobeVerified, $PlainText,
Time of Update: 2017-01-13
方法一,過濾一些沒用的內容過濾沒用的資訊比較嚴格,有用的可能也輸入不進去,可以從網上找找其他的過濾方法: 代碼如下複製代碼 function checkHtml($data){ $ret = preg_match("/['.,:;*?~`!@#$%^&+=)(<>{}]|]|[|/|\|"||/",$data); if ($ret == 1) {
Time of Update: 2017-01-13
例1,判斷字元是否存在 代碼如下複製代碼 function is_bad_chars($str){ $bad_chars = array("\",' ',"'",'"','/','*',',','<','>',"r","t","n",'$','(',')','%','+','?',';','^','#',':',' ','`','=','|','
Time of Update: 2017-01-13
例1,直接使用數組,此方法比較簡單 代碼如下複製代碼 <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><?php$arr=array(2,3,4,5,8,1,9,7,"a","b","c&
Time of Update: 2017-01-13
對一php://input介紹,PHP官方手冊文檔有一段話對它進行了很明確地概述。“php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with
Time of Update: 2017-01-13
對於大部分密碼加密,我們可以採用md5、sha1等方法。可以有效防止資料泄露,但是這些方法僅適用於無需還原的資料加密。對於需要還原的資訊,則需要採用可逆的加密解密演算法。下面一組PHP函數是實現此加密解密的方法:密碼編譯演算法如下: 代碼如下複製代碼 function encrypt($data, $key){ $key = md5($key);
Time of Update: 2017-01-13
確定XP_CMDSHELL可執行情況發現WEB虛擬目錄上傳ASP,php,jsp木馬;得到管理員權限;//PHP整站防注入程式,需要在公用檔案中require_once本檔案 //判斷magic_quotes_gpc狀態 if (@get_magic_quotes_gpc ()) { $_GET = sec ( $_GET );
Time of Update: 2017-01-13
具體方法一、PHP防止站外提交資料的方法 代碼如下複製代碼 <? $servername=$HTTP_SERVER_VARS['SERVER_NAME']; $sub_from=$HTTP_SERVER_VARS["HTTP_REFERER"]; $sub_len=strlen($servername); $checkfrom=substr($sub_from,7,$sub_len); if($checkfrom!=$servername){
Time of Update: 2017-01-13
簡單點來說就是你不想讓別人知道的資訊,比如說資料庫的地址,使用者名稱,密碼等等,此類資訊往往知道的人越少越好。通常,PHP程式裡的設定檔大致如下所示: 代碼如下複製代碼 <?php return array( 'database' => array( 'host' => '1
Time of Update: 2017-01-13
1.將safe.func.php傳到要包含的檔案的目錄2.在頁面中加入防護,有兩種做法,根據情況二選一即可:a).在所需要防護的頁面加入代碼require_once('safe.func.php');就可以做到頁面防注入、跨站如果想整站防注,就在網站的一個公用檔案中,如資料庫連結檔案config.inc.php中!添加require_once('safe.func.php');來調用本代碼safe.func.php 代碼如下: 代碼如下複製代碼
Time of Update: 2017-01-13
mysql_real_escape_string() 函數轉義 SQL 陳述式中使用的字串中的特殊字元。下列字元受影響: 代碼如下複製代碼 x00nr'"x1a 如果成功,則該函數返回被轉義的字串。如果失敗,則返回 false。易利用下面的這個函數,就可以有效過濾了。 代碼如下複製代碼 function safe($s){ //安全過濾函數if(get_magic_quotes_gpc()){ $s=stripslashes($s); }$s=
Time of Update: 2017-01-13
為了安全起見,可以開啟“php.ini”檔案的安全模式,設定“safe_mode=On”;顯示 PHP 執行錯誤資訊的 “display_erros”選項如果開啟的話,將會返回很多可利用的資訊給入侵者,因此要將其設定為“display_erros=off”;這樣,PHP 函數執行錯誤後的資訊將不會在用戶端的瀏覽器中進行顯示。
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
下面總結在最近招聘中常問的一個問題PHPer當被問到你的程式效能如何?程式的並發可以達到多少?程式的瓶頸在哪兒?為了滿足業務需求應該購買多少台伺服器?負載平衡中php應用伺服器需要多少台?可能這些問題在面試中會設定一個應用的情境及一些前提條件,讓面試的人去設計,並提出看法建議,能夠回答得很好的人還是比較少的。今天我們來談談LNMP的並發考慮和資源分派。首先弄清楚幾個概念LNMP中的N是nginx充當Web
Time of Update: 2017-01-13
<html><head><title>Ajax講解 - www.111cn.net - </title><script type="text/javascript">function createXmlHttp(){ if(window.ActiveXObject){ xmlHttp=new