麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > PHP > 正文

php 參數(shù)過濾、數(shù)據(jù)過濾詳解

2024-05-04 23:39:48
字體:
供稿:網(wǎng)友

這篇文章給大家介紹php參數(shù)過濾及php數(shù)據(jù)過濾,包括php提交數(shù)據(jù)過濾的基本原則,php簡單的數(shù)據(jù)過濾,感興趣的朋友一起學(xué)習(xí)吧

下面通過一段代碼給大家介紹php參數(shù)過濾

 

 
  1. class mysafe{ 
  2. public $logname
  3. public $isshwomsg
  4. function __construct(){  
  5. set_error_handler('MyError',E_ALL);  
  6. //----- 
  7. function MyError($errno$errstr$errfile$errline){  
  8. echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />"
  9. exit
  10. function wlog($logs){ 
  11. if(emptyempty($logname)){ 
  12. $this->logname=$_SERVER["DOCUMENT_ROOT"]."/log.htm"
  13. }  
  14. $Ts=fopen($this->logname,"a+"); 
  15. fputs($Ts,$logs."/r/n"); 
  16. fclose($Ts); 
  17. function showmsg($msg='',$flag=false){ 
  18. $this->isshwomsg=emptyempty($this->isshwomsg) ? false : true; 
  19. if ($this->isshwomsg) { 
  20. echo '<br />--------------------------------------<br />'
  21. echo $msg
  22. echo '<br />--------------------------------------<br />'
  23. if ($flagexit
  24. }  
  25. function get_filter(){ 
  26. $getfilter="'|(and|or)//b.+?(>|<|=|in|like)|/////*.+?//*///|<//s*script//b|//bEXEC//b|UNION.+?SELECT|UPDATE.+?SET|INSERT//s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)//s+(TABLE|DATABASE)"
  27. foreach($_GET as $key=>$value){ 
  28. $this->StopAttack($key,$value,$getfilter); 
  29. function post_filter(){ 
  30. $postfilter="//b(and|or)//b.{1,6}?(=|>|<|//bin//b|//blike//b)|/////*.+?//*///|<//s*script//b|//bEXEC//b|UNION.+?SELECT|UPDATE.+?SET|INSERT//s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)//s+(TABLE|DATABASE)"
  31. foreach($_POST as $key=>$value){ 
  32. $this->StopAttack($key,$value,$postfilter); 
  33. function cookie_filter(){ 
  34. $cookiefilter="//b(and|or)//b.{1,6}?(=|>|<|//bin//b|//blike//b)|/////*.+?//*///|<//s*script//b|//bEXEC//b|UNION.+?SELECT|UPDATE.+?SET|INSERT//s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)//s+(TABLE|DATABASE)"
  35. foreach($_COOKIE as $key=>$value){ 
  36. $this->StopAttack($key,$value,$cookiefilter); 
  37. //過濾參數(shù)  
  38. function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){ 
  39. if(is_array($StrFiltValue)){ 
  40. $StrFiltValue=implode($StrFiltValue); 
  41. }  
  42. if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){ 
  43. $msg="<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作時間: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作頁面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交參數(shù): ".$StrFiltKey."<br>提交數(shù)據(jù): ".$StrFiltValue;  
  44. $this->wlog($msg);  
  45. $this->showmsg($msg);  
  46. exit(); 
  47. }  
  48. function filter_value_for_sql($str){ 
  49. $str = str_replace("and","",$str); 
  50. $str = str_replace("execute","",$str); 
  51. $str = str_replace("update","",$str); 
  52. $str = str_replace("count","",$str); 
  53. $str = str_replace("chr","",$str); 
  54. $str = str_replace("mid","",$str); 
  55. $str = str_replace("master","",$str); 
  56. $str = str_replace("truncate","",$str); 
  57. $str = str_replace("char","",$str); 
  58. $str = str_replace("declare","",$str); 
  59. $str = str_replace("select","",$str); 
  60. $str = str_replace("create","",$str); 
  61. $str = str_replace("delete","",$str); 
  62. $str = str_replace("insert","",$str); 
  63. $str = str_replace("'","",$str); 
  64. $str = str_replace('"',"",$str); 
  65. $str = str_replace(" ","",$str); 
  66. $str = str_replace("or","",$str); 
  67. $str = str_replace("=","",$str); 
  68. $str = str_replace(" ","",$str);  
  69. return $str
  70. //class end 

下面給大家介紹下PHP數(shù)據(jù)過濾

1、php提交數(shù)據(jù)過濾的基本原則

1)提交變量進數(shù)據(jù)庫時,我們必須使用addslashes()進行過濾,像我們的注入問題,一個addslashes()也就搞定了。其實在涉及到變量取值時,intval()函數(shù)對字符串的過濾也是個不錯的選擇。

2)在php.ini中開啟magic_quotes_gpc和magic_quotes_runtime。magic_quotes_gpc可以把get,post,cookie里的引號變?yōu)樾备堋agic_quotes_runtime對于進出數(shù)據(jù)庫的數(shù)據(jù)可以起到格式話的作用。其實,早在以前注入很瘋狂時,這個參數(shù)就很流行了。

3)在使用系統(tǒng)函數(shù)時,必須使用escapeshellarg(),escapeshellcmd()參數(shù)去過濾,這樣你也就可以放心的使用系統(tǒng)函數(shù)。

4)對于跨站,strip_tags(),htmlspecialchars()兩個參數(shù)都不錯,對于用戶提交的的帶有html和php的標(biāo)記都將進行轉(zhuǎn)換。比如尖括號"<"就將轉(zhuǎn)化為 "<"這樣無害的字符。

$new = htmlspecialchars("Test", ENT_QUOTES);

strip_tags($text,);

5)對于相關(guān)函數(shù)的過濾,就像先前的include(),unlink,fopen()等等,只要你把你所要執(zhí)行操作的變量指定好或者對相關(guān)字符過濾嚴(yán)密,我想這樣也就無懈可擊了。

2、PHP簡單的數(shù)據(jù)過濾

1)入庫: trim($str),addslashes($str)

2)出庫: stripslashes($str)

3)顯示: htmlspecialchars(nl2br($str))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 一级免费看片 | 久久爽精品区穿丝袜 | 黄色片网站在线免费观看 | 免费a级观看| 99sesese| 亚洲欧美国产精品va在线观看 | 久久成人免费观看 | 悠悠成人资源亚洲一区二区 | 国产成人高清在线观看 | 日韩欧美中文字幕视频 | 久草在线视频精品 | 欧美成在人线a免费 | 精品国产一区二区三区四 | 成人性视频欧美一区二区三区 | 久久久电影电视剧免费看 | 在线观看免费污视频 | 久久免费视频一区 | 免费国产自久久久久三四区久久 | 欧美日韩国产成人在线 | 欧美日本中文字幕 | 成人小视频在线播放 | 国产88久久久国产精品免费二区 | xvideos korean | 99精品国产一区二区三区 | 成人午夜在线免费观看 | 欧美激情综合网 | 国产精品视频一区二区三区四区国 | 视频一区二区在线播放 | 久久亚色 | 日韩视频一| 九九精品在线 | 天天舔夜夜操 | 韩国草草影院 | 日本精品视频一区二区三区四区 | 亚洲精品av在线 | 久久精品视频网站 | 久色免费 | 久久久国产精品免费观看 | 成人在线免费视频观看 | 毛片久久 | 久久国产精品久久久久久久久久 |