下記の問いに対し、◯か×で答えなさい
(1)アプリケーションによって、ホワイトリストとブラックリストを使い分けていくのが良い (2)無効なデータは必要ないので、修正してわかりやすいようにする (3)命名規則など、決める必要はない
答え
(1)× (2)× (3)×
【解説】
(1)ホワイトリストを使うべき。データが無効である条件を定義するのではなく、「データが有効である」条件を定義するようにする。
(2)無効なデータは修正しないこと。修正時のミスや修正漏れなどで新たな脆弱性を引き起こす可能性がある。
(3)命名規則を決め、フィルタリング済みのデータと汚染されているデータがきちんと区別できるようにする必要がある。フィルタリング済みかわからない状況で、フィルタリングは無意味。
プログラミングPHP第3版を参考。
コメント