帝国CMS变量过滤函数区别及详解

过滤函数详情:

折叠PHP 代码
  1. //变量正数型处理  
  2. function RepPIntvar($val){  
  3.     $val=intval($val);  
  4.     if($val<0)  
  5.     {  
  6.         $val=0;  
  7.     }  
  8.     return $val;  
  9. }  
  10.   
  11. //参数处理函数  
  12. function RepPostVar($val){  
  13.     if($val!=addslashes($val))  
  14.     {  
  15.         exit();  
  16.     }  
  17.     CkPostStrChar($val);  
  18.     $val=str_replace("%","",$val);  
  19.     $val=str_replace(" ","",$val);  
  20.     $val=str_replace("\t","",$val);  
  21.     $val=str_replace("%20","",$val);  
  22.     $val=str_replace("%27","",$val);  
  23.     $val=str_replace("*","",$val);  
  24.     $val=str_replace("'","",$val);  
  25.     $val=str_replace("\"","",$val);  
  26.     $val=str_replace("/","",$val);  
  27.     $val=str_replace(";","",$val);  
  28.     $val=str_replace("#","",$val);  
  29.     $val=str_replace("--","",$val);  
  30.     $val=RepPostStr($val,1);  
  31.     $val=addslashes($val);  
  32.     //FireWall  
  33.     FWClearGetText($val);  
  34.     return $val;  
  35. }  
  36.   
  37. //参数处理函数2  
  38. function RepPostVar2($val){  
  39.     if($val!=addslashes($val))  
  40.     {  
  41.         exit();  
  42.     }  
  43.     CkPostStrChar($val);  
  44.     $val=str_replace("%","",$val);  
  45.     $val=str_replace("\t","",$val);  
  46.     $val=str_replace("%20","",$val);  
  47.     $val=str_replace("%27","",$val);  
  48.     $val=str_replace("*","",$val);  
  49.     $val=str_replace("'","",$val);  
  50.     $val=str_replace("\"","",$val);  
  51.     $val=str_replace("/","",$val);  
  52.     $val=str_replace(";","",$val);  
  53.     $val=str_replace("#","",$val);  
  54.     $val=str_replace("--","",$val);  
  55.     $val=RepPostStr($val,1);  
  56.     $val=addslashes($val);  
  57.     //FireWall  
  58.     FWClearGetText($val);  
  59.     return $val;  
  60. }  
  61.   
  62. //处理提交字符  
  63. function RepPostStr($val,$ecms=0){  
  64.     $val=ehtmlspecialchars($val,ENT_QUOTES);  
  65.     if($ecms==0)  
  66.     {  
  67.         CkPostStrChar($val);  
  68.         $val=AddAddsData($val);  
  69.         //FireWall  
  70.         FWClearGetText($val);  
  71.     }  
  72.     return $val;  
  73. }  
  74.   
  75. //处理提交字符2  
  76. function RepPostStr2($val){  
  77.     CkPostStrChar($val);  
  78.     $val=AddAddsData($val);  
  79.     //FireWall  
  80.     FWClearGetText($val);  
  81.     return $val;  
  82. }  
  83.   
  84. //处理地址  
  85. function RepPostStrUrl($val){  
  86.     $val=str_replace('&','&',RepPostStr($val,1));  
  87.     return $val;  
  88. }  
  89.   
  90. //处理提交字符  
  91. function hRepPostStr($val,$ecms=0){  
  92.     if($ecms==1)  
  93.     {  
  94.         $val=ehtmlspecialchars($val,ENT_QUOTES);  
  95.     }  
  96.     CkPostStrChar($val);  
  97.     $val=AddAddsData($val);  
  98.     return $val;  
  99. }  
  100.   
  101. //处理提交字符2  
  102. function hRepPostStr2($val){  
  103.     CkPostStrChar($val);  
  104.     $val=AddAddsData($val);  
  105.     return $val;  
  106. }  
  107.   
  108. //处理编码字符  
  109. function CkPostStrChar($val){  
  110.     if(substr($val,-1)=="\\") 
  111.     { 
  112.         exit(); 
  113.     } 
  114. } 
  115.  
  116. //返回转义 
  117. function egetzy($n='2'){ 
  118.     if($n=='rn') 
  119.     { 
  120.         $str="\r\n"; 
  121.     } 
  122.     elseif($n=='n') 
  123.     { 
  124.         $str="\n"; 
  125.     } 
  126.     elseif($n=='r') 
  127.     { 
  128.         $str="\r"; 
  129.     } 
  130.     elseif($n=='t') 
  131.     { 
  132.         $str="\t"; 
  133.     } 
  134.     elseif($n=='syh') 
  135.     { 
  136.         $str="\\\"";  
  137.     }  
  138.     elseif($n=='dyh')  
  139.     {  
  140.         $str="\'";  
  141.     }  
  142.     else  
  143.     {  
  144.         for($i=0;$i<$n;$i++)  
  145.         {  
  146.             $str.="\\";  
  147.         }  
  148.     }  
  149.     return $str;  
  150. }  

总结为:

 

(1)、数字型变量可以用(int)或intval函数处理,例子:

$page=(int)$_GET['page'];

$page=intval($_GET['page']);

(2)、带小数点的数字型变量可以用(float)或floatval函数处理,例子:

$money=(float)$money;

$money=floatval($money);

(3)、字符型处理:

不带空格或其他特殊符号的,用

RepPostVar()函数过滤

带空格或其他特殊符号的用:

RepPostVar2()函数过滤

 

写入数据库的用:

RepPostStr()函数过滤

Tags: 变量   函数
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.