リクエストすると/personal/faces/public/login.xhtml
正常に動作しますが、リクエスト/personal/public/login.xhtml
せず/faces
にページの生のソースコードを取得します。
人々がページのソースコードを見ることができないようにしたいと思います。どうすればこれを達成できますか?
リクエストすると/personal/faces/public/login.xhtml
正常に動作しますが、リクエスト/personal/public/login.xhtml
せず/faces
にページの生のソースコードを取得します。
人々がページのソースコードを見ることができないようにしたいと思います。どうすればこれを達成できますか?
これは、web.xml の構成で指定/faces/*
したために発生しています。FacesServlet
その結果、指定された URL パターンに一致しない要求されたファイルは、GET
要求を持つ通常のファイルとして提供されます。その構成を次のように変更して、JSF 関連のすべての要求が FacesServlet を通過するようにします。
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
これにより、.xhtml 拡張子を持つすべてのファイルがクライアントに戻る前に処理されます。
上記の解決策は差し迫った問題を解決するかもしれませんが、あなたが経験していることは、より深いセキュリティの問題を示しています。これは、ブラウザーを使用するすべてのユーザーが、Web アプリケーションのデプロイや、場合によってはファイル システムの他の部分からアーティファクトを要求してダウンロードできることを示しています。これは、調査する必要があるセキュリティ ホールです。オプションはアプリサーバーによって異なります