0

Tomcat 5.5 サーバーを使用しており、Web アプリケーションがデプロイされています。プロジェクトの .txt ファイルにアクセスする http リクエストをブロックしたいと考えています。たとえば、https ://MyDomain/inside/mytest.txt のような http URL

これは、web.xml ファイルの security-constraints を使用するか、カスタム バルブを記述して実行できると思います。ただし、robots.txt ファイルは非常に単純に見えるため、使用の可能性を探っています。したがって、次のように *.txt ファイルへのアクセスをブロックする robots.txt ファイルを作成しました --

# 立ち去る User-agent: * Disallow: /*.txt

ROOTフォルダーと、webappsフォルダー内のすべてのパスに配置しました。ただし、何の効果もないようで、まだ *.txt ファイルにアクセスできます。Tomcat で robots.txt ファイルを有効にするために必要なその他の注意事項や手順はありますか? ここでのヘルプは大歓迎です。

4

1 に答える 1

2

robots.txtは、Web ロボット (検索エンジンの Web クローラーなど) が従う規則であり、Web ロボットがこのファイルを見て、そこにあるルールに従うため機能します。詳細については、 http://www.robotstxt.org/、特にhttp://www.robotstxt.org/robotstxt.htmlを参照してください。

これはセキュリティ対策として意図されたものではないことに注意してください。これは単なる助言プロトコルであり、動作の悪い Web ロボットは自由に無視できます (サーバーはそのルールを適用しないため)。実際、robots.txt は通常、これらのページにアクセスできると想定される人間のユーザーを対象としていません。

Web アプリケーションのすべてのユーザー (行儀の良い自動 Web クローラーだけでなく) によるファイルへのアクセスを本当にブロックしたい場合は、言及した security-constraints のようなことをする必要があります。

別のいくつかの選択肢:

  • テキスト ファイルをWEB-INF/classes/Web アプリケーションのフォルダーに配置します。このフォルダーの内容は Web クライアントに提供されることはありませんが、ClassLoader.getResourceAsStreamたとえば、Web アプリケーション コード自体で使用できます。

  • テキスト ファイルをWEB-INF/Web アプリケーションのフォルダーに配置します。このフォルダーの内容は Web クライアントに提供されることはありませんが、ServletContext.getResourceAsStreamたとえば、Web アプリケーション コード自体で使用できます。

于 2012-12-13T16:01:17.423 に答える