私は.get(field = ID)
でデータベース行を取得する行があります。通常のユーザーは、データベースに存在するが、ハッカーは存在しない可能性があり、DoesNotExist
の例外をスローして、常にID
を送信します。それを明示的にキャッチすることは重要ですか?その場合、例外をキャッチしないままにする必要がありますか?いずれにしても、ハッカーはメッセージを表示しないため、どちらの方法でもセキュリティ上のリスクはありません。通常のユーザーでは発生しないエラーを検出する必要がありますか?
この例外をログに記録するかどうかは不思議です。大まかなルールとしてあなたがしていることを聞くことに興味があり、あなたが記録しているものと捕まえているものとの対比と、捕らえられていない例外を投げ捨てるものとの関係についてのあなたの正当性に興味があります。
私は同意します。内容によって異なります。このクエリがユーザーのナビゲーションまたは入力に直接接続されているビューに存在する場合は、不正な値を処理して応答を返す必要があります。しかし、クエリがモデルレイヤーにあり、ユーザーが直接アクセスできない場合は、問題は発生しません。ボトムラインはフィルターで、すべてのユーザー入力を処理します。これにはGETとPOSTのパラメータが含まれています – jdi
コンテキストはモーダル/ ajaxのポップアップでした。あなたは2つのことに基づいて、私はこのケースで 'DoesNotExist'例外をキャッチし、ユーザーがモーダルダイアログにデータベースにないIDを渡そうとすると、適切なエラーメッセージを返すことにしました。 – babonk