-
-
/*************************** - Description:
- Determine whether the passed variable contains illegal characters
- such as $_POST, $_GET
- Function: Anti-injection
- * *************************/
//Illegal characters to be filtered
- $ArrFiltrate=array("'", ";","union");
- //The url to jump to after an error occurs. If not filled in, the previous page will be defaulted
- $StrGoUrl="";
- //Whether there is a value in the array
- function FunStringExist($StrFiltrate, $ArrFiltrate){
- foreach ($ArrFiltrate as $key=>$value){
- if (eregi($value,$StrFiltrate)){
- return true;
- }
- }
- return false;
- }
//Merge $_POST and $_GET
- if(function_exists(array_merge)){
- $ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
- }else{
- foreach($HTTP_POST_VARS as $key=> ;$value){
- $ArrPostAndGet[]=$value;
- }
- foreach($HTTP_GET_VARS as $key=>$value){
- $ArrPostAndGet[]=$value;
- }
- }
-
//Verification starts
- foreach($ArrPostAndGet as $key=>$value){
- if (FunStringExist($value,$ArrFiltrate)){
- echo "";
- if (emptyempty($StrGoUrl)){
- echo " ";
- }else{
- echo "";
- }
- exit;
- }
- }
- ? >
-
-
Copy the code
and save it as checkpostandget.php, and then add include("checkpostandget.php"); in front of each php file.
Method 2
-
-
/* Filter all GET variables*/ - foreach ($_GET as $get_key=>$get_var)
- {
- if (is_numeric($get_var)) {
- $get[strtolower($get_key)] = get_int($get_var);
- } else {
- $get[strtolower($get_key)] = get_str($get_var);
- }
- }
- < ;p>/* Filter all POST variables*/
- foreach ($_POST as $post_key=>$post_var)
- {
- if (is_numeric($post_var)) {
- $post[strtolower($post_key)] = get_int($post_var);
- } else {
- $post[strtolower($post_key)] = get_str($post_var);
- }
- }
/* Filter function*/
- // Integer filter function
- function get_int($number)
- {
- return intval($number);
- }
- //String filter function
- function get_str($string)
- {
- if (!get_magic_quotes_gpc()) {
- return addslashes($string);
- }
- return $string;
- }
- ?>
-
Copy code
|