最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP過濾查詢字符

PHP過濾查詢字符

PHP
王亞松 2016-12-12 12:56:40
ThinkPHP中有一段源代碼:這個函數(shù)是對$_POST中的數(shù)據(jù)進(jìn)行過濾。array_walk_recursive($_POST,'think_filter') ; //對數(shù)組成員遞歸應(yīng)用think_filter函數(shù)。請問:在下面這個函數(shù)中,怎么體現(xiàn)過濾了?value匹配條件后,value后面連接一個空格就是過濾了?我覺得,應(yīng)該是$value="";才對啊,ThinkPHP源碼中是.=,請大神說一下,這是什么意思?function?think_filter(&$value){ ???//?TODO?其他安全過濾 ???//?過濾查詢特殊字符 ????if(preg_match('/^(EXP|NEQ|GT|EGT|LT|ELT|OR|XOR|LIKE|NOTLIKE)$/i',$value)){ ????????$value?.=?'?'; ????} }
查看完整描述

3 回答

?
一瞬兒光

TA貢獻(xiàn)178條經(jīng)驗 獲得超70個贊

$arr?=?array(
????'a'?=>?1,
????'b'?=>?'LIKE'
)
$arr2?=?array(
????'a'?=>?1,
????'b'?=>?'LIKE?'
)
//這兩個數(shù)組一樣嗎?
sql??=?select?field?from?table?where?field_id?like?'%LIKE%';
sql2?=?select?field?from?table?where?field_id?like?'%LIKE?%';
//這兩個sql一樣嗎?
function?:?function?think_filter($value){}
function2:?function?think_filter(&$value){}
//這兩個function的參數(shù)一樣嗎?
//弄明白這三個的不同你就明白了。


查看完整回答
反對 回復(fù) 2016-12-12
  • 王亞松
    王亞松
    非常感謝。 數(shù)組:空格 sql : 匹配 LIKE,前后可加任意字符。 匹配 LIKE空格,前后可加任意字符。 function:索引,&$value 函數(shù)外部對應(yīng)$value的變量,也會隨$value的變化而變化。 可我還是不明白:think_filter函數(shù)作用。 我覺得他應(yīng)該是防止sql注入, 例如: 后臺PHP:$sql="select *from tb_user where username= '".$_POST['username']."'"; 如果獲取的$_POST['username']值為:"' or username LIKE '%s%"; $sql最終:"select *from tb_user where username='' or username LIKE '%s%'" 就會選出所有匹配%s%的用戶了。 我覺得think_filter這個函數(shù),應(yīng)該防止上面這種情況發(fā)生。顯然,$_POST['username']的值中的OR,LIKE等 是沒有被過濾掉的。例如上例中,就不匹配 think_filter()方法中的preg_match中的內(nèi)容。 請大神說具體一點
  • 王亞松
    王亞松
    這個回復(fù)居然沒有格式,請大神幫忙看一下,我在自己的留言區(qū)寫了,看起來方便點
  • 3 回答
  • 0 關(guān)注
  • 1504 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號