詳細なコードは次のとおりです:
コードをコピーします コードは次のとおりです:
abstract class Filter { //filter 親クラス
private $blackstr = array(); $whitestr = array();
function filtit($str) {
//何かをする
}
}
class LoginFilter extends Filter { //ユーザーログイン用 filte ユーザー名 (フィルター登録されたユーザー名)
function filtit($str) {
$this -> ; blackstr = array(
´/[x7f-xff]/´, //中国語を含む記号をフィルターします
´/W/´ //すべての英語記号をフィルターします
return preg_replace($this-); >blackstr, ´ ´, $str);
}
}
class EditorFilter extends Filter { //記事エディタのフィルタ用 (オンラインエディタのコンテンツをフィルタリング)
function filtit($str) {
$this -> (
´/ &/´、
´/´/´、
´/"/´、
´/´、
´/>/´、
´/\\/´、
´// /´,
´/-/´,
´/*/´,
´/ /´
);
$this ->whitestr = array(
´&´,
´''´,
´"´,
´<´、
´>´、
´\´、
´/´、
´-´、
´*´、
´
return preg_replace($this->blackstr, $) this ->whitestr, $str);
}
}
class SQLFilter extends Filter { //filte SQL クエリ文字列 (クエリまたは他の 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´]);メソッド
http://www.bkjia.com/PHPjc/320092.htmlwww.bkjia.com
true
http://www.bkjia.com/PHPjc/320092.html
技術記事
詳細なコードは次のとおりです。 次のようにコードをコピーします。 ?php abstract class Filter { //filter 親クラス private $blackstr = array(); private $whitestr = array(); function filtit($str);