2012-12-12 2 views
0

Tomcat 5.5 서버를 사용하고 있으며 웹 응용 프로그램이 배포되어 있습니다. 내 프로젝트에서 .txt 파일에 액세스하는 HTTP 요청을 차단하고 싶습니다. 예를 들어, http : // https : //MyDomain/inside/mytest.txt와 같은 URL을 입력하십시오.웹 응용 프로그램의 robots.txt 파일 관련

이 작업은 web.xml 파일의 보안 제한 조건을 사용하거나 사용자 정의 밸브를 작성하여 수행 할 수 있습니다. 그러나 robots.txt 파일을 사용하는 가능성을 모색 중이므로 매우 간단합니다. * 허용 안 : 나는 그것을 넣어 가지고

/*.txt을

#이 사용자 에이전트 사라 - 그래서 나는 다음과 같이 * .txt 파일에 대한 액세스를 차단하는 robots.txt 파일을 작성했습니다 ROOT 폴더와 webapps 폴더 내의 모든 경로에도 있습니다. 그러나, 그것은 영향을 미치지 않는 것 같고 여전히 * .txt 파일에 액세스 할 수 있습니다. robots.txt 파일을 Tomcat에 적용하려면 다른 경고와 단계가 필요합니까? 여기에 큰 도움이되는 모든 도움.

+1

robots.txt는 액세스 제어가 아니며 웹 크롤러가 특정 파일을 보지 못하도록 막 _합니다. http://www.robotstxt.org/robotstxt.html을 참조하십시오. 액세스 제어를 위해서는'.htaccess'를 사용해야합니다. – Barmar

답변

1

robots.txt은 웹 로봇 (예 : 검색 엔진 웹 크롤러)이 따르는 규칙이며 웹 로봇이이 파일을보고 거기에서 찾은 규칙을 준수하기 때문에 작동합니다. 자세한 내용은 http://www.robotstxt.org/ 및 특히 http://www.robotstxt.org/robotstxt.html을 참조하십시오.

보안 측정을위한 것이 아니며, 권고 프로토콜 일 뿐이며 잘못된 동작을하는 모든 웹 로봇은 서버가 규칙을 적용하지 않으므로이를 무시할 수 있습니다. 실제로 robots.txt는 일반적으로 이러한 페이지를 방문 할 것으로 예상되는 사용자를 대상으로하지 않습니다.

잘 작동하는 자동화 된 웹 크롤러가 아닌 웹 응용 프로그램의 모든 사용자가 실제로 파일에 대한 액세스를 차단하려는 경우 언급 한 보안 제약 조건을 수행해야합니다.

대안의 또 다른 커플 :

  • 웹 클라이언트에 제공되지 결코이 폴더의 내용과 같은 웹 응용 프로그램의 WEB-INF/classes/ 폴더에 텍스트 파일을 넣어하지만, 웹 응용 프로그램 코드 자체를 사용할 수 있습니다 예를 들어 ClassLoader.getResourceAsStream을 사용하십시오.

  • 웹 응용 프로그램의 WEB-INF/ 폴더에 텍스트 파일을 넣으십시오.이 폴더의 내용은 절대로 웹 클라이언트에 제공되지 않지만, 예를 들어 ServletContext.getResourceAsStream을 사용하여 웹 응용 프로그램 코드에서 사용할 수 있습니다.