0

grails アプリを作成していますが、grails が提供するデフォルトの URLMapping は/$controller/$action?/$id

この catch all マッピングのセキュリティ面が心配です。すべてのマッピングを明示的にリストするのは面倒ですが、一方で、特定のマッピングを保護するのを忘れるなど、潜在的なセキュリティ上の問題が発生する可能性があるようです。

マッピングを明示的に指定することで、URL をより厳密に制御できます。また、よりユーザーフレンドリーな URL を作成することもできます (たとえばpeople/john//erson/john.

デフォルトのマッピングをそのままにしておくことについて、他に懸念事項はありますか? 特定の管理ページが有効であるという事実を意図せずに公開する可能性はありますか (管理者以外のユーザーが管理ページにアクセスしようとするために 404 にリダイレクトする方法については、春のセキュリティについて詳しく調べる必要があります)。

4

1 に答える 1

1

あなたは自分で答えたと思います。デフォルトの URL マッピング "/$controller/$action?/$id" は使いやすいですが、コントローラーのセキュリティ実装が不適切な場合に穴として使用される可能性があります。

しかし、おそらく最善の解決策は、ドメイン レベルでもセキュリティ チェックを配置することです。そのため、ユーザーが許可されていないコントローラーにエラーでアクセスできたとしても、例外により、ユーザーはドメインで何かを行うことがブロックされます。

于 2012-10-18T07:52:57.010 に答える