2012-04-09 12 views
0

ホワイトリストを使用すると、そのリスト内のすべてのものだけを使用し、ブラックリストではリスト内にあるものだけをすべて使用することを理解します。PHPでブラックリストとホワイトリストを理解する

しかし、それ以降はどうなりますか?ホワイトリストを使用しているとします。入力の値にホワイトリストに含まれていないものが含まれている場合、入力の拒否を防止できますか?私は空白を使用して、データベースに格納されている値をしたいdidntの場合は

preg_replace("/[^a-zA-Z0-9_]/", "", $stringToFilter); 

しかし、どのような:

は、私はこのような何かが空白文字と文字または数字ではない、すべてを削減することを知っています。代わりにエラーメッセージが表示されるようにこれを行う方法はありますか?たとえば文...

+2

質問がありません。 – Alp

+0

もう少しあなたの質問を説明してもらえますか? –

+2

ホワイトリストからホワイトスペースへのすばらしい移行... –

答えて

3

を使用して、私はホワイトリストを使用すると、それだけで そのリストの中に、それは リストにあるものが、すべてのものを使用してブラックリストにすべてのものを使用していることを理解しています。

  • ホワイトリスト:
  • ブラックリストを承認されている項目:

にpreg_replace

を承認されていない項目あなたがしてpreg_matchまたはfilter_varを使用する必要がありますフラグ代わりに...これについては以下を参照してください。

しかし、空白を含むデータベースに格納された値が必要な場合はどうしたらいいですか?代わりにエラーメッセージが表示されるようにこれを行う方法はありますか?例えばif文使って...あなたが見ているは​​ずだので、あなたは、検証について話している

php.net/filter.filters.validate

// false  
var_dump(!filter_var('string with spaces', FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/[\s]+/i')))); 

// true 
var_dump(!filter_var('string_with_no_spaces', FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/[\s]+/i')))); 

は、if文で上記をラップし、あなたが行われています。

関連する問題