詳細なコードは次のとおりです。
コードをコピー コードは次のとおりです。
abstract class Filter { // 親クラスをフィルターします
private $blackstr = 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 - > blackstr = array(
'/&/',
'/'/',
'/',
'/> /´、
´/\\/´、
´///´、
´/-/´、
´/*/´、
´/ /´
);
$this ->whitestr = array(
´&´,
´''´,
´<´,
´>´ 、
´\´、
´/´、
´-´、
´*´、
´ ´
);
return preg_replace($this-> blackstr, $ this ->whitestr, $str);
}
}
class SQLFilter extends Filter { //SQL クエリ文字列 (クエリや他の SQL ステートメントなどのフィルタリング) 用
関数filtit($str ) {
$this -> blackstr = array(
´/´/´,
´/-/´
); ;blackstr, ´ ´, $str);
}
}
class FileNameFilter extends Filter { //ファイル名をフィルタリングします (ダウンロードしたファイル名などのファイル名をフィルタします)
function filtit($ str) {
$this -> blackstr = array(
´/[^A-za-z0-9_.]|\\|^|[|]/´
); return preg_replace($this ->blackstr, ´´, $str);
}
}
?>
として使用されます:
$filter = new FileNameFilter() //インスタンスを定義します$ downFile = $filter->filtit($_GET[´fn´]) //フィルタリングメソッドを呼び出します