php常用的安全過濾函式

2022-07-31 13:42:15 字數 2339 閱讀 6666

目錄結構

由於越來越多的專案開始使用框架,所以,很多的程式設計師也不在關心安全的問題!因為框架已經幫我們幾乎完美的處理了!但是,個人認為,我們還是需要了解一下常用的安全處理函式!

原因簡單:很多小的功能和專案是用不到框架的,我們需要自己解決安全問題!

mysql_real_escape_string()

addslashes()

mysql_real_escape_string()和addslashes()函式都是對資料中的 單引號、雙引號進行轉義!也就是防止sql注入!

但是mysql_real_escape_string()考慮了字符集,更加的安全一些!

經過查閱相關的資料,可以得出乙個結論:當前的字符集是單位元組的話,這兩個函式作用相同,都可以起到轉義過濾的作用,但是,有誰會只是用單位元組呢?尤其是utf8越來越廣泛的被使用到!

在了解mysql_real_escape_string()和addslashes()這兩個函式的用法的時候,我們必須先了解另外兩個函式的含義!

get_magic_quotes_gpc()和get_magic_quotes_runtime(),我們來比較一下兩個函式的異同:

相同:

a、兩者都是用來獲取php.ini配置檔案的配置情況的!當開啟的時候返回1,關閉的時候返回0!

b、當開啟的時候,都會對指定範圍內的資料進行轉義過濾!

不同:a、兩者的作用範圍不同:

magic_quotes_gpc主要作用於web客戶端,簡單的說主要是對$_get、$_post、$_cooke中的資料進行過濾!

magic_quotes_runtime主要是對檔案中讀取的資料進行過濾!

b、設定時間不同:

magic_quotes_gpc不可以在執行時進行設定[只能在重啟伺服器的時候讀取該設定]

magic_quotes_runtime可以在執行時設定!

注意:所謂執行時設定,就是,我們可以通過ini_set()函式,在指令碼中對php.ini檔案中的配置進行設定!

明白了get_magic_quotes_gpc()和get_magic_quotes_runtime()這兩個函式的後,我們就應該明白了:當我們檢測到php.ini配置檔案開啟了magic_quotes_runtime 和 magic_quotes_gpc的話,就會自動的對指定範圍內的資料進行轉義!如果關閉的話,我們就需要使用mysql_real_escape_string()[或者addslashes函式進行過濾]

1、無論magic_quotes_gpc和magic_quotes_runctime開啟還是關閉的情況下getdata.php指令碼,都可以對資料進行安全轉義,內容如下:

1

<?php

2if(!get_magic_quotes_gpc

()) 6}

7if(!get_magic_quotes_runtime

()) 13}

14}15$gpcdata = implode("\t", $_get

);16

$runtimedata = implode("\t", $sourcedatarecord

);17

echo

$gpcdata, $runtimedata

;18 ?>

在sourcedata.txt中的內容如下:

" it's anoterh sunday afternoon

i'm trunning turnning.....turnning around "

我們請求getdata.php時的url如下:

執行結果如下:

maw\'eibin 25\" it\'s anoterh sunday afternoon\r\n i\'m trunning

turnning.....turnning around \"

另外,php還有專門的filter函式集及過濾器。

php 過濾器(filter)

php filter 函式

部分來自:

php常用的安全過濾函式

由於越來越多的專案開始使用框架,所以,很多的程式設計師也不在關心安全的問題!因為框架已經幫我們幾乎完美的處理了!但是,個人認為,我們還是需要了解一下常用的安全處理函式!原因簡單 很多小的功能和專案是用不到框架的,我們需要自己解決安全問題!mysql real escape string addsla...

PHP安全 過濾

我們在開發應用時,一般有個約定 不要信任任何來自不受自己控制的資料來源中的資料。例如以下這些外部源 所有這些外部源都可能是攻擊媒介,可能會 有意或無意 把惡意資料注入php指令碼。編寫接收使用者輸入然後渲染輸出的php指令碼很容易,可是要安全實現的話,需要下一番功夫。我這裡以陳咬金的三板斧為引子,給...

php filter 安全過濾函式

php 利用filter 擴充套件編寫的引數處理靜態類,歡迎使用。希望大家看得開心,用得放心。引數驗證函式 method license created 2011年07月02日 11時00分 author martin abstract class cfilter 驗證型別 param string...