最近のハッキングやリークなどで、私はこれについてよく考えていました。アプリケーション全体をロックダウンして、SQL インジェクション ポイントや、データベースの開示につながる可能性のあるその他の攻撃がないことを確認することは (ほぼ) 不可能です。
ただし、アプリケーションが非常に小さく、非常に単純である場合、SQL インジェクションについてアプリケーションを監査するのは非常に簡単です。パスワードを完全に別のデータベースに保存し、API を介した場合を除いてアクセスすることはできません。この API には、check_password、add_password、change_password の 3 つのメソッドがあります。
このように、誰かが Web アプリケーションのセキュリティ上の欠陥を突き止めてデータベースをダンプする方法を見つけた場合 (そして、あなたが十分に大きなターゲットである場合ではなく、それはそのときです)、彼らはまだあなたのパスワード ハッシュを持っていません。
このアイデアを考えると、それは盲目的に明白に思えますが、他のどこにも参照が見つからないので、私の質問は次のとおりです。なぜこれを行うべきではないのですか?