Time of Update: 2017-01-13
一個入門層級的例子 代碼如下複製代碼 $k = $_REQUEST['k'];$k = addslashes($k);//轉義:單引號,雙引號,反斜線,NULL$k = str_replace('%', '\%', $k);$k = str_replace('_', '\_', $k);$sql = "select * from users where name like '%$k%'";if(!empty($k)){$res = mysql_query(
Time of Update: 2017-01-13
例子,使用strip_tags()函數過濾所有html 代碼如下複製代碼 $str = '<a href="#">href</a>';echo htmlspecialchars($str);echo strip_tags($str);輸出結果為<a href="#">href</a>href
Time of Update: 2017-01-13
<?phpfunction passport_encrypt($txt, $key) {srand((double)microtime() * 1000000);$encrypt_key = md5(rand(0, 32000));$ctr = 0;$tmp = '';for($i = 0;$i < strlen($txt); $i++) {$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;$tmp .=
Time of Update: 2017-01-13
php 程式常犯錯誤總結1.不轉意html entities一個基本的常識:所有不可信任的輸入(特別是使用者從form中提交的資料) ,輸出之前都要轉意。echo $_GET['usename'] ;這個例子有可能輸出:<script>/*更改admin密碼的指令碼或設定cookie的指令碼*/</script>這是一個明顯的安全隱患,除非你保證你的使用者都正確的輸入。如何修複 :我們需要將"< ",">","
Time of Update: 2017-01-13
php 圖形驗證碼類<img src="verify_image.php" alt="點此重新整理驗證碼" name="verify_code" width="65" height="20" border="0" id="verify_code" onclick="document.getElementById('verify_code').
Time of Update: 2017-01-13
php 過濾特殊字元及sql防注入代碼<?php//方法一//過濾',",sql語名addslashes();//方法二,去除所有html標籤strip_tags();//方法三過濾可能產生代碼function php_sava($str) { $farr = array( "/s+/", &
Time of Update: 2017-01-13
PHP程式員最易犯10種錯誤(轉)PHP是個偉大的web開發語言,靈活的語言,但是看到php程式員周而復始的犯的一些錯誤。我做了下面這個列表,列出了PHP程式員經常犯的10中錯誤,大多數和安全相關。看看你犯了幾種1.不轉意html entities 一個基本的常識:所有不可信任的輸入(特別是使用者從form中提交的資料) ,輸出之前都要轉意。 echo $_GET['usename'] ; 這個例子有可能輸出: <script>/
Time of Update: 2017-01-13
* 字串檢查類 *@author sanshi QQ:35047205 Email:sanshi0815@tom.com MSN:sanshi0815@tom.com*/class checkBase{ function
Time of Update: 2017-01-13
如何攻擊,在此不作說明(也不要問我),主要談談如何防範。首先,跨站指令碼攻擊都是由於對使用者的輸入沒有進行嚴格的過濾造成的,所以我們必須在所有資料進入我們的網站和資料庫之前把可能的危險攔截。針對非法的HTML程式碼封裝括單雙引號等,可以使用htmlentities() 。<?php$str = "A ''''quote'''' is <b>bold</b>";// Outputs: A ''''quote'''' is
Time of Update: 2017-01-13
最近很多朋友都在問我是否能把我那一句話木馬隱藏到HTML或圖片裡,其實把一句話木馬插入到PHP檔案中就已經很隱蔽了,如果說硬是要放到HTML檔案或圖片裡,就接著往下看的這篇測試報告吧。 要知道如果光把PHP語句放到圖片裡是無論如何也不能執行的,因為PHP只解析副檔名為php的檔案。所以說要能使隱藏在圖片裡的PHP語句執行。我們就的藉助PHP中的調用函數 :include 、require
Time of Update: 2017-01-13
代碼如下複製代碼 <?php/*** @name date safe class 0.1* @author kevin xu* @copyright kenvin E-mail:gincn@cn.cashboxparty.com MSN:gincn@live.cn*/interface dateSafe{ function gincn();}class safe extends doSafe implements dateSafe { public $
Time of Update: 2017-01-13
我們構建注入語句吧 在輸入框輸入 a% and 1=2 union select 1,username,3,4,5,6,7,8, password,10,11 from alphaauthor#放到sql語句中成了select * from alphadb where title like %a% and 1=2 union select 1,username,3,4,5,6,7,8, password,10,11 from alphaauthor# %怎麼樣,出來了吧,哈哈,一切盡在掌握之中。
Time of Update: 2017-01-13
濫用include 1.漏洞原因: Include是編寫PHP網站中最常用的函數,並且支援相對路徑。有很多PHP指令碼直接把某輸入變數作為Include的參數,造成任意引用指令碼、絕對路徑泄露等漏洞。看以下代碼:...$includepage=$_GET["includepage"];include($includepage);... 很明顯,我們只需要提交不同的Includepage變數就可以獲得想要的頁面。假如提交一個不存在的頁面,就可以使PHP指令碼發生錯誤而泄露
Time of Update: 2017-01-13
出現這種問題是變數未定義了,我們只要把加個驗證如$a =isset($_get['aa'])?$_get['aa']:'變數未定義';這樣未定義變數也不會出現undefined variable和 undefined index提供哦,同時我們還提供在php ini或在php中設定錯誤不提示的方法解決方案: 1) error_reporting設定: 找到error_reporting = e_all 修改為error_reporting = e_all & ~e_notice2)
Time of Update: 2017-01-13
當你需要從utf8轉換一些資料,cp1251(窗- 1251)或cp1251到utf8你必須使用系統功能的iconv。常見的主機服務商不允許使用此功能。*/function cp1251_to_utf8($s){ $c209 = chr(209); $c208 = chr(208); $c129 = chr(129);
Time of Update: 2017-01-13
/** * 擷取伺服器當前日期時間 */ 代碼如下複製代碼 function get_server_datetime() { date_default_timezone_set("asia/chongqing"); return date("y-m-d h:i:s"); } /** *
Time of Update: 2017-01-13
php date讀取時間不正確$DateTime = date("Y-m-d H:i:s"); echo $DateTime;為啥列印出來的日期和我伺服器的系統時間不一致啊。我是在本地測試啊。配置php.ini也可以在php.ini中直接設定成東八區:開啟php.ini尋找date.timezone 去掉前面的分號,=
Time of Update: 2017-01-13
session_set_cookie_params(0, COOKIE_PATH, COOKIE_DOMAIN);if($_REQUEST){ if(MAGIC_QUOTES_GPC) { $_REQUEST = new_stripslashes($_REQUEST); if($_COOKIE) $_COOKIE = new_stripslashes($_COOKIE); } else { &
Time of Update: 2017-01-13
for($i=0;$i<count($array);$i++){for($j=0;$j<count($array[$i]);$j++) { echo $array[$j][userid]; }}因為它是個多維陣列,一般用foreach ($arr as $key => $value) { echo "Key: $key; Value:
Time of Update: 2017-01-13
php上傳圖片失敗原圖一般的檔案上傳,除非檔案很小.就像一個5M的檔案,很可能要超過一分鐘才能上傳完.但在php中,預設的該頁最久執行時間為 30 秒.就是說超過30秒,該指令碼就停止執行.這就導致出現 無法開啟網頁的情況.這時我們可以修改 max_execution_time在php.ini裡尋找 max_execution_time預設是30秒.改為max_execution_time = 0