数据过滤、格式化用户输入 php笔记
1.过滤
abstract class filter{
protected $blackstr = array();
protected $whitestr = array();
abstract function filtit($str);
}
//过滤用户名的特殊符号
class loginfilter extends filter {
function filtit($str){
$this->blackstr = array(/[\x7f-\xff]/,/\w/);
return preg_replace($this->blackstr,,$str);
}
}
//对输入的文本框内容过滤
class editfilter extends filter {
function filtit($str){
$this->blackstr = array(/\&/, /\/, /\/, /\, /\>/,
/\\\\/, /\//, /-/, /\*/, / / );
$this->whitestr = array(&,',,\',/,-,*, );
return preg_replace($this->blackstr,$this->whitestr,$str);
}
}
2.//用户的留言是一段代码:比如是js脚本;那么怎样及时避免数据的危害,取出数据时又正确显示
$js = ;//假设用户输入的是脚本
//$str1 = base64_encode($js);//使用 mime base64 对数据进行编码
//echo $str1.
;
//$str2 = base64_decode($str1);//
echo htmlspecialchars($js);//转换特殊字符为html字符编码