データのフィルタリング、ユーザー入力の書式設定 php メモ
1. Filter
抽象クラス Filter{
protected $blackstr = array();
protected $whitestr = array();
抽象関数 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("/&/", "/"/", "/"/", "/< /", "/>/",
"/\\/", "// /", "/-/", "/*/", "/ /" );
>whitestr = array("&","'","<",">>","' ","/","-","*"," ");
return preg_replace( $this->blackstr,$this->whitestr,$str);
}
}
2.//ユーザーのメッセージはコードの一部です。たとえば、これは JS スクリプトなので、データを取り出すときにデータの損傷を時間内に回避し、正しく表示する方法。
$js = "<script>alert('look me');</script>";//仮定 ユーザー入力はスクリプトです
//$str1 =base64_encode($js );//MIME Base64 を使用してデータをエンコードします
//echo $str1."
";
//$str2 =base64_decode($str1);//
echo htmlspecialchars($js);//特殊文字を HTML 文字エンコーディングに変換します