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開發人員都會使用這個md()加密函數,但其中的參考有些朋友未必知道了,今天我們來看看md5()函數的參數吧.文法md5(string,raw)md5() Function Compute字串的 MD5 散列string 必需。規定要計算的字串charlist可選。規定十六進位或二進位輸出格式:TRUE - 原始 16 字元二進位格式 FALSE - 預設。32 字元十六進位數 注釋:該參數是 PHP 5.0 中添加的。 代碼如下複製代碼 $str
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中都有的如XSS用 htmlentities()預防XSS攻擊還有sql注入可以用mysql_real_escape_string操作等。PHP包括其他任何網路程式設計語言的安全性,具體表現在本地安全性和遠程安全性兩個方面,這裡我們應該養成如下的幾個習慣確保我們的PHP程式本身是安全的。1、
Time of Update: 2016-07-13
自己寫的一款sql注入檢測函數,可以有效檢測使用者post,get過來的參考進行過濾,有需要的朋友參考一下。 代碼如下複製代碼 /*sql 注入 字元的檢測* 在所有使用者輸入的資料,post傳參, get傳參 都需要檢測下 * 如果有匹配到關鍵字 則 返回該關鍵字 否則返回false* 這個和敏感字元的檢測不是一樣的*/function Filter_SQL($strData) { $strFilter=$blnFlag=$arrayFilter=''; $strFilter="
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
本文章分享的這個php加密類是一個可以支援中文和英文的可加密碼可解密的php實作類別檔案,有需要的同學可以參考一下,不過最好把文檔編碼設定為utf-8哦。下面代碼儲存成MD5Crypt.class.php檔案 代碼如下複製代碼 class MD5Crypt { /** * Enter description here ... * @param unknown_type $str * @return string */ public final static function
Time of Update: 2016-07-13
這裡介紹了一款安全性比較高的驗證產生程式,可以帶幹擾線等內容,可以有效防止使用者用程式識別驗證碼的難度了。 代碼如下複製代碼 /* * Created on 2011-3-11 * Programmer : xiaoyao, QQ:1045195056 驗證通過判斷輸入值與$_SESSION['check_pic']值 */session_start(); function RandAscii($number){//$number產生數字和字母個數$arr=array('0','1',
Time of Update: 2016-07-13
本文章簡單的利用一個執行個體來介紹了關於php防止sql注入的簡單辦法,有需要學習的朋友可以參考一下本文章哦。方法一:密碼比對思路:首先通過使用者輸入的使用者名稱去查詢資料庫,得到該使用者名稱在資料庫中對應的密碼,再將從資料庫中查詢到的密碼和使用者提交過來的密碼進行比對。代碼: 代碼如下複製代碼 $sql="select password from users where username='$name'";
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
Time of Update: 2016-07-13
我們利用了php教程內建的Magic Quotes來判斷是否是開啟了,如果是就strips教程lashes否則就用mysql教程_real_escape_string來過濾//如果Magic Quotes功用啟用if (get_magic_quotes_gpc()) { $name = stripslashes($name); }else{ $name = mysql_real_escape_string($name); }mysql_query("SELECT * FROM users
Time of Update: 2016-07-13
這是我之前寫的一段form代碼print_r($a1);?>原想是可以一次擷取多但是行不通,通過網上找到瞭解決方法所有需要傳多個值input的name中加上[]則php端讀到的就是數組 var_dump($_POST['a1']) http://www.bkjia.com/PHPjc/629709.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629709.htmlTechArticle這是我之前寫的一段form代碼 form
Time of Update: 2016-07-13
對於一些常見的輸出目標(包括用戶端、資料庫教程和URL)的轉義,PHP 中有內建函數可用。如果你要寫一個自己演算法,做到萬無一失很重要。需要找到在外系統中特殊字元的可靠和完整的列表,以及它們的表示方式,這樣資料是被保留下來而不是轉譯了。最常見的輸出目標是客戶機,使用htmlentities( )在資料發出前進行轉義是最好的方法。與其它字串函數一樣,它輸入是一個字串,對其進行加工後進行輸出。但是使用htmlentities(
Time of Update: 2016-07-13
PHP使用eval(gzinflate(str_rot13(base64_decode(‘BASE64加密後內容’))))核心代碼的解密下非擴充方式的php教程加密方法:這裡有個線上的,還不錯。木馬防殺還行,要保護代碼可就不行了。對應的寫了一個簡單的解密的,專門針對eval。這個原理很有用途。特別說明:此解密程式好像一定得在PHP5上面使用,我在PHP4上面測試eval(gzinflate(str_rot13(base64_decode(‘BASE64加密後內
Time of Update: 2016-07-13
為了資料安全,防止注入需要過濾$_GET獲得的字串,一開始我還自已寫過濾的函數,後來看到php教程內建的一個過濾函數,所以把addslashes推薦給大家。 一個使用 addslashes() 的例子是當你要往資料庫教程中輸入資料時。例如,將名字 O'reilly插入到資料庫中,這就需要對其進行轉義。大多資料庫使用 作為轉義符:O'reilly。這樣可以將資料放入資料庫中,而不會插入額外的 。當 PHP 指令 magic_quotes_sybase 被設定成 on 時,意味著插入 '
Time of Update: 2016-07-13
擷取會話ID的方式很多,攻擊者可以通過查看明文通訊來擷取,所以把會話ID放在URL中或者放在通過未加密串連傳輸的Cookie中是很危險的;還有在URL中(作為_get()參數)傳遞會話ID也是不安全的,因為瀏覽器曆史緩衝中會儲存URL,這樣就很容易被讀取。(可以考慮使用ssh進行加密傳輸)
Time of Update: 2016-07-13
PHP 的 HTTP 認證機制僅在 PHP 以 Apache 模組方式運行時才有效,因此該功能不適用於 CGI 版本。在 Apache 模組的 PHP 指令碼中,可以用 header() 函數來向用戶端瀏覽器發送“Authentication Required”資訊,使其彈出一個使用者名稱/密碼輸入視窗。當使用者輸入使用者名稱和密碼後,包含有 URL 的 PHP 指令碼將會再次和預定義變數 PHP_AUTH_USER、PHP_AUTH_PW 和 AUTH_TYPE
Time of Update: 2016-07-13
import os import sys import re import time def listdir(dirs,liston='0'): flog = open(os.getcwd()+"/check_php教程_shell.log","a+") if not os.path.isdir(dirs): print "directory %s is not exist"% (dirs) return lists = os.listdir(dirs) for list in lists: