私は、ユーザーが入力したテキストを検証する関数を作成しています。私は入力テキストのさまざまな使い方を持っているので、ユーザーがWebサイトのどの部分にテキストを入力させるかというセキュリティ上の懸念に関して、可能な限り多くの領域をカバーするようにしたいと思います。私は現在、必要に応じてさまざまな入力を検証し、これのセキュリティ部分を1つの関数に統合しようとするさまざまなコードを使用し、正規表現(電子メール、電話、パスワード検証)をWebサイト全体で使用できる別のものに統合します。PHP入力検証 - 注意すべきことは?
私はこれに関する質問があります。
私は、データベース内の情報に対して入力をチェックする際にユーザーの入力をきれいにするために、フィルタリングのこのビットを使用し:
$find = strtoupper($find);
$find = strip_tags($find);
$find = trim ($find);
$_SESSION['find'] = $find;
$keywords_array = explode(' ', $find);
私はstrip_tags
を使用している場合、それは前にこのような入力を検証しても意味がありません上に適用されたフィルタリング:
もしそうなら、ほかのどのタグを監視する必要がありますか?
また、一緒にまとめようとしている機能に関して、私は一般的に何を見ているべきですか?これは素晴らしいことだカバーいくつかの良いチュートリアルへ
のリンクはあまりにも:)
ありがとうございます!
をしたい場合http://php.net/manual/en/book.filter.php あなたはまた、私はあなたがすべての可能なスクリプトタグを見つけるいくつかの問題を持っているつもりだと思うHTMLpurifierや整頓を検討するかもしれない読みますjsを試して実行するためのヒープがあるので、バリエーションがあります。 http://ha.ckers.org/xss.htmlでは、あなたがサイトを攻撃しようとするものの良い例をいくつか挙げています。 – lfxgroove
一般に、私はあなたのIPがログに記録されたというメッセージをWebアプリケーションに入れません。ページ変数に 'script'タグを挿入した人は、ハッカーではないかもしれません(例えば、悪意のあるリンクをたどっている可能性があります)。彼らのIPを忘れずに記録してください。ただし、404をスローしたりホームページにリダイレクトするだけです。 – halfer
@Antonリンクありがとうございました:) –