最優(yōu)良人 » 魔法函數 http://www.dgkai.cn/blog 中山php|最優(yōu)網絡 Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 php過濾敏感字符的一些相關函數--魔法函數應用 http://www.dgkai.cn/blog/view-23.html http://www.dgkai.cn/blog/view-23.html#comments Sat, 06 Aug 2011 18:01:50 +0000 lin http://www.dgkai.cn/blog/?p=23 一,首先,先來看一下php.ini的兩個配置參數

magic_quotes_gpc "1" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 6.0.0.

作用范圍是:WEB客戶服務端;
作用時間:請求開始是,例如當腳本運行時

magic_quotes_runtime "0" PHP_INI_ALL Removed in PHP 6.0.0.

作用范圍是:影響從文件中讀取的數據或從數據庫查詢得到的數據。

以下是一些常用到的方法:

get_magic_quotes_gpc(void)

本函數取得 PHP 環(huán)境配置的變量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。

  返回 0 表示關閉本功能;

  返回 1 表示本功能打開。

  當 magic_quotes_gpc 打開時,所有的 ' (單引號), " (雙引號), \ (反斜線) and 空字符會自動轉為含有反斜線的溢出字符。

應用:

由于該參數不支持在php文件進行設置,如果通過本函數取得的變量magic_quotes_gpc 的值為false,我們可以
利用addslashes()人工使用反斜線引用字符串

$var = get_magic_quotes_gpc()?$var:addslashes($var);

相反,如果通過本函數取得的變量magic_quotes_gpc 的值為true,我們希望字符串不被轉義,那么可以利用stripslashes()去除自動添加的反斜杠

get_magic_quotes_runtime()

一般情況下,應當將其關閉,否則從數據庫讀取出來的數據單引號、雙引號和反斜杠都會被加上\,導致顯示不正常。像Discuz,PHPWind都在公共文件的頭部加上一句

set_magic_quotes_runtime(0)

// Check if magic_quotes_runtime is active
if(get_magic_quotes_runtime())
{
// Deactive
set_magic_quotes_runtime(false);
}

二、對于magic_quotes_runtime,我們統一關閉它,即set_magic_quotes_runtime(0);不讓從數據庫讀取出來的數據的單引號、雙引號和反斜杠都自動被加上\。這樣,對數據庫的操作如下:添加數據到數據庫之前,我們手動對數據進行addslashes(),而從數據庫取出數據時,則作相反操作,即stripslashes()。

三、對于要序列化的內容,要保持裸數據,即要去掉轉義,stripslashes(),然后在把序列化過的內容保存到數據庫當中(注意,序列化過的內容是不帶單引號(')、雙引號(")、反斜線(\)的),示例如下:

$feedarr['body_data'] = serialize(stripslashes($body_data));

]]>
http://www.dgkai.cn/blog/view-23.html/feed 345
国产精品 亚洲无码| www.香蕉| 99久久青青| 在线免费观看你懂得| 天天躁日日躁狠狠躁性色av| 黑丝少妇| 成熟丰满中国女人少妇| 国产老熟女tubeumtv| 性情网| 亚洲欧美精品日韩| 91狠狠干| 中文AV在线电影| 亚洲国产视频香蕉网不卡| 午夜噜噜噜| 尹人综合在线| 狼狼综合久久久久综合网| AV无码免费播放,久久| 亚洲AV无码精品| 日本欧美一区二区三区免费不卡| 久久精品国产第一区二区三区| 波多野结衣无码专区| 不卡的高清无码| 欧美激情综合五月丁香| 久久之欧美| 亚洲综合精品第一页| 九九九| 日日夜夜爽| 草少妇| 一本大道久久a久久精品综合| 国产成人色| 一区二区精品久久| 国产91精品| 亚洲av蜜桃| 国产无码h片在线观看| 久久久黄色视频| 97人人澡人人爽人人模亚洲| 在线观看免费你懂得| 亚洲视频三级日本在线观看| av色婷婷| 久久久久国内精品国产片| 无码Av福利精品|