php過濾提交數據
『壹』 php 怎麼判斷提交的內容,過濾保留某個標簽內容
htmlspecialchars 是將html字元轉為實體字元,比如 ">"轉化為">",可以防止SQL注入
『貳』 php過濾數據問題
假定你的數據在數據$demo中,我們來寫段代碼進行過濾。
$count = 0;
foreach($demo as $ditem){
if(($ditem['a']==0)||($ditem['b']==0)||($ditem['c']==0)||($ditem['c']==0)) continue;
echo $ditem['id'].''.$ditem['a'].''.$ditem['b'].''.$ditem['c'].''.$ditem['d'].''.$ditem['e']."<br>";
$count++;
}
echo '總行數:'.$count;
『叄』 PHP禁止外部提交數據的問題
用數組,$doman=array('域名1','域名2','域名3');
然後再遍歷數組匹配一下就是了
『肆』 php中,通過$_GET 和 $_POST 取得的數據 安不安全 需要什麼過濾函數處理嗎
引號過濾有magic_quotes_gpc(伺服器配置)
函數addslashes() htmlspecialchars(,ENT_QUOTE);
注意伺服器上是否已經開啟magic_quotes_gpc
(php>=5.3 已經廢棄了它) 如果已經開啟,再進行轉義會導致雙層轉義。 另外addslashes() addcslashes() 都不能對數組進行處理,需要寫一個遞歸實現。
你可以使用函數get_magic_quotes_gpc()來檢測它是否已經開啟
不建議使用addslashes使用addslashes可能會因為資料庫編碼的問題使得單引號未被轉義了解詳情可訪問:http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string
『伍』 php內容過濾規則,求幫助
上面的是正則表達式,用豎線隔開的一組關鍵字,當提交的內容包含這些關鍵字時就會提示非法,看看你的圖片地址是不是有單詞在上面的關鍵字中。比如:update
『陸』 PHP數據過濾的幾種方式
調度方法
這種方法是來用一個單源一的 php 腳本調度(通過 URL)。其他任何操作在必要的時候使用include或require包含進來。這種方法一般需要每個 URL 都傳遞一個單獨的GET變數用於調度。這個GET變數可以被認為是用來替代腳本名稱的更加簡化的設計。
『柒』 求php防止被sql 注入攻擊的過濾用戶輸入內容的函數
functionclean($v){
//判斷magic_quotes_gpc是否復為打開
if(!get_magic_quotes_gpc()){
//進行制magic_quotes_gpc沒有打開的情況對提交數據的過濾
$v=addslashes($v);
}
//把'_'過濾掉
$v=str_replace("_","\_",$v);
//把'%'過濾掉
$v=str_replace("%","\%",$v);
//把'*'過濾掉
$v=str_replace("*","*",$v);
//回車轉換
$v=nl2br($v);
//html標記轉換
$v=htmlspecialchars($v);
return$v;
}
如果需要,還可以屏蔽一下危險字元,例如insert, update, delete等
//將update去掉
$v=str_replace("update","",$v);
最後,在拼裝sql語句時,用戶輸入的東西,全括在單引號內
『捌』 php表單獲取用戶輸入數據後過濾的流程
addslashes
htmlspecialchars
mysql_real_escape_string
數字的可以用intval(),最好在之前就循環$_POST,挨個的addslashes或者其他函數。內
上面都可以,根容據需要來。
『玖』 PHP一般如何防止站外提交數據
<?$servername=$HTTP_SERVER_VARS['SERVER_NAME']; //獲取本站域名$sub_from=$HTTP_SERVER_VARS["HTTP_REFERER"]; //獲取來源的referer$sub_len=strlen($servername); //計算本站域名的長度$checkfrom=substr($sub_from,7,$sub_len); //截取來源域名if($checkfrom!=$servername){ //假如截取的來源域名不等於本站域名,則終止.
echo("數據來源有誤!請從本站提交!"); exit;
}?>
『拾』 php 禁止外部提交數據代碼
你不要使用使用這個GET,GET只能用來傳遞一些不是太重要的數據。
你可以用$_SESSION,SESSION會話。
給你簡單的源碼,你自己試驗吧:
a1.php代碼:
<?php
session_start();//必須放在第一行, 否則會出錯,而且第一行不可以有空格或者回車
$id=5;//我隨便定義一個id
$_SESSION['id']=$id;
echo $_SESSION['id'];//輸出id
?>
<a href='a2.php?id=<?php echo $_SESSION['id'];?>'>點我跳到a2.php</a>
a2.php代碼:
<?php
session_start();//開啟會話
if(isset($_SESSION['id']) ){//如果有SESSION參數
echo $_SESSION['id'];//然後你可以寫修改信息之類的東西
}else{//如果是非法登錄
echo '你小子走錯了吧';
}
?>
-------------------------------------------
SESSION就用來保存信息,方便的跨頁面傳遞。而且這個數據是保存在伺服器的,相對安全性高一點。