及其噶鼓的id——防sql注入

最近有这样一个接口 就收的id 是  '1_2,2_3,3_4,4_6,'这种的

<?php

$_POST['id'] = "1_2,2_3,3_4,4_); SELECT SLEEP(1);";

// 格式化数字数组 格式为:'1_2,2_3,3_4'
if($_POST['id']){
//过滤‘_’
$idArray = explode('_',$_POST['id']);
if($idArray){
foreach($idArray as &$id){
}
$_POST['id'] = implode(',', $idArray);
}else{
$_POST['id'] = '';
}
//过滤除数字外的所有字符
if($_POST['id']){
$idArray = explode(',',$_POST['id']);
foreach($idArray as &$id){

$id = intval($id);
}
$_POST['id'] = implode('_', $idArray);
}else{
$_POST['id'] = '';

}
//把得到的字符串打成数组 格式为' *_* '
preg_match_all('/\d_\d/',$_POST['id'],$_POST['id']);
//二维数组转一维数组
$_POST['id'] = array_reduce($_POST['id'], 'array_merge', array());
//数组转成字符串 格式为 '1_2,2_3,3_4' 完成过滤。
$_POST['id']=implode(',', $_POST['id']);

print_r($_POST['id']);
die();

 

希望大家遇到的id 都是  id=1 ~~~~~~~~~~~~~~

 

posted @ 2018-06-12 15:40  臭虫编写工程师小于  阅读(164)  评论(0编辑  收藏  举报