❶ PHP $_GET方法傳過來參數過濾問題求高手指導一二!!
php有個防止sql注入的函數addslashes(),這樣就會把你搜索框里傳過來的單引號雙引號轉義掉,還有要防止跨站腳本攻擊xxs,用函數htmlspecialchars (),詳細可看php手冊
❷ PHP怎麼過濾GET或者POST的參數怎麼樣才能保證代碼不被注入
//本人在抄 TP 框架中的過濾函數。// Input 類是 TP 供給的。function inputFilter($content){ if(is_string($content) ) { return Input::getVar($content); } elseif(is_array($content)){ foreach ( $content as $key => $val ) { $content[$key] = inputFilter($val); } return $content; } elseif(is_object($content)) { $vars = get_object_vars($content); foreach($vars as $key=>$val) { $content->$key = inputFilter($val); } return $content; } else{ return $content; }}
❸ php 純數字url參數安全過濾代碼
標准答案我就不知道了,只是我個人的理解大概是這個方面要注意:
1 [POST/GET]頁面參數傳值/字元串輸入/數據入庫等類似動作都要做好嚴格的危險字元過濾處理.
2 相關PHP的I/O操作,需要注意限制許可權,文件名或目錄名或內容都要做好過濾處理.
3 敏感信息(如PASSWORD/銀行帳號等)不要依賴COOKIE,SESSION,最好讀表,並盡量緩存讀表數據.
4 注意對網站根目錄及下面所有子目錄及文件的許可權控制與保護,不要讓配置文件/系統信息等文件暴露.
5 要完全屏掉所有出錯提示,或者能捕獲所有出錯並重新定製輸出,以防報錯信息泄露你的網站及相關文件路徑,MYSQL欄位/網站環境等.
6 所有對庫表的寫入與讀取操作都需要做好訪問來路限制/同IP同內容讀寫間隔限制/並驗證POST與GET的指定標識KEY的有效性等這些安全動作.
7 有類似文件下載/或文本流下載等功能的,盡量不要在URL裡面直接調用目標文件地址的方式來做,最好是傳ID或是指定的NAME標識.
8 MYSQL 的用戶最好分開,不要用ROOT用戶來連接MYSQL,另建專用用戶,並限制死此用戶的許可權,只能操作指定的庫,最好去掉此用戶的命令行導入導出的許可權等這些危險的許可權.
❹ php正則過濾網址中一個參數,請教高手怎麼怎麼寫
什麼樣的參數?
正則要針對具體問題來寫,你這樣提問沒人回答得了
❺ php正則過濾
應該這么寫
<?php
$str='abc.jpg?w=100';
preg_replace('#^(.*?.jpg).*#','$1',$str);
❻ 請問PHP怎麼過濾GET或者POST的參數防止js注入,或者一些html注入請請提供代碼參考謝謝!
string mysql_real_escape_string ( string unescaped_string [, resource link_identifier])
本函數將來 unescaped_string 中的特殊字元自轉義,並計及連接的當前字元集,因此可以安全用於 mysql_query()。
注: mysql_real_escape_string() 並不轉義 % 和 _。
例子 1. mysql_real_escape_string() 例子
<?php
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
以上例子將產生如下輸出:
Escaped string: Zak\'s and Derick\'s Laptop
❼ php正則過濾抽取table中的數據
elseif($paytypes=="Alipay"){
$url="alipay_".$paytypes."/alipayto.php?proct=".$procts."&total_fee=".$total_fee."&body=".$names."&out_trade_no=".$out_trade_nos;
Header("Location:$url");
exit;
}
❽ php為什麼要過濾參數
主要是防止sql注入
舉例來說
如果$_GET['pwd']是你接受的參數
那麼你不處理的話
如何我$_GET['pwd']裡面是"'or'1";你的sql就無效了或者寫刪表語句"';drop····"
mysql_query("select*from表名wherepwd='$_GET[pwd]'");
還有就是數據本身可能不合法 如何 要int 你給的是string
❾ PHP正則過濾鏈接地址中的字元
preg_replace('/(<a\b[^>]*)_bmiddle/','$1',$str);