侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

php 字符过滤类,用于过滤各类用户输入的数据

2023-12-12 星期二 / 0 评论 / 0 点赞 / 59 阅读 / 2589 字

详细代码如下: 复制代码 代码如下:<?php abstract class Filter { //filter parent class private $blackstr = array(); private $wh

详细代码如下:

复制代码 代码如下:

<?php
abstract class Filter { //filter parent class
private $blackstr = array();
private $whitestr = array();
function filtit($str) {
//do something
}
}
class LoginFilter extends Filter { //for user login filte username(过滤注册的用户名)
function filtit($str) {
$this -> blackstr = array(
´/[/x7f-/xff]/´, //filter chinese include chinese symbol
´//W/´ //filter all english symbol
);
return preg_replace($this->blackstr, ´´, $str);
}
}
class EditorFilter extends Filter { //for article editor filter(过滤在线编辑器内容)
function filtit($str) {
$this -> blackstr = array(
´//&/´,
´//´/´,
´//"/´,
´//</´,
´//>/´,
´//////´,
´////´,
´/-/´,
´//*/´,
´/ /´
);
$this -> whitestr = array(
´&amp;´,
´&#39;´,
´&quot;´,
´&lt;´,
´&gt;´,
´&#92;´,
´&#47;´,
´&#45;´,
´&#42;´,
´&nbsp;´
);
return preg_replace($this->blackstr, $this -> whitestr, $str);
}
}
class SQLFilter extends Filter { //for filte sql query string(过滤如查询或其它sql语句)
function filtit($str) {
$this -> blackstr = array(
´//´/´,
´/-/´
);
return preg_replace($this->blackstr, ´´, $str);
}
}
class FileNameFilter extends Filter { //for filte a file name(过滤文件名如下载文件名)
function filtit($str) {
$this -> blackstr = array(
´/[^A-za-z0-9_/.]|////|/^|/[|/]/´
);
return preg_replace($this->blackstr, ´´, $str);
}
}
?>

使用方法如:
复制代码 代码如下:

$filter = new FileNameFilter(); //定义实例
$downFile = $filter->filtit($_GET[´fn´]); //调用过滤方法

广告 广告

评论区