robots.txt
robots.txt 파일이 발견되면 파일을 읽어 그 내용을 분석한다.
로봇에 접근 권한 및 접근 가능한 경로에 대한 정보로 자신이 수집해도 되는 콘텐트만을 수집 하게 된다.
한 사이트에는 하나의 "robots.txt" 를 루트에 가질 수 있다.
로봇은 하위 디렉토리에서 이 파일을 검색하지 않는 것을 원칙으로 한다.
이 때문에 robots.txt 파일은 꼭 웹사이트의 루트에 생성해야 한다.
uri는 대소문자 구별하고, "robots.txt" 파일이름은 모두 소문자로 작성해야 하며. 파일명에 공백은 허용되지 않는다.
robots.txt 파일에 아래와 같이 되어있다면 해당 url에 대하여 모든 로봇에 대해 모든 경로에 접근을 차단한다는 내용이다.
user-agent: * # 모든 로봇(robots)들에 적용
disallow: / # 모든 페이지들의 색인(indexing) 금지
user-agent : 접근을 허용하지 않을 로봇을 설정 한다.
disallow : 허용하지 않을 항목에 대해 설정 한다.
"disallow"를 빈 값으로 설정 할 경우, 모든 하위 경로에 대한 접근이 가능하다.
robots.txt 화일에는 최소한 한개의 "disallow" 필드(field)가 존재해야 한다.
disallow: /help # /help.html과 /help/index.html 둘 다 허용 안함
disallow: /help/ # /help/index.html는 허용 안하나, /help.html은 허용 됨.
페이지 차단하기
특정 파일 확장자를 차단 하는 방법은 robots.txt 파일에 아래와 같은 내용을 추가 하면된다.
Disallow: /*.xml$ # 루트 하위에 있는 xml 확장자를 가진 모든 파일의 색인을 거부한다.
Disallow: /test.html? # 루트에 text.html 과 ?가 포함된 파일의 색인을 거부한다.
참고.
페이지의 메타태그에 아래와 같은 설정을 할 경우 로봇이 문서를 색인(index)하거나 연결을 분석하지 않는다.
내용에서 사용되는 용어들은 all, index, nofollow, noindex이다.
그 이름과 내용 애트리뷰트의 값은 대소문자 구별 없이 사용된다
웹 사이트에서 일반적으로 사용하는 robots.txt 파일은 로봇의 검색을 제한하기 위해 만들어진 규약으로 웹 사이트에 대한 민감한 정보를 차단하기 위해서 사용됩니다. 하지만 이 파일을 역으로 이용하여 웹 사이트를 해킹할 수 있습니다.
탐색과정
로봇(google, naver, daum 등)은 웹 사이트를 검색하기 전에 robots.txt 파일이 있는지 여부를 확인한 후 그 설정에 따라서 동작합니다. 하지만 robots.txt는 강제성을 띄지 않으므로 일부 스팸 발송자나 다른 악의적인 사용자는 이 파일의 설정을 무시하고 웹 사이트를 검색할 수 있습니다.
설정
robots.txt 파일은 웹 사이트의 최상위 경로에 있어야 하며, 다른 경로에 제공 시 robots.txt의 규칙을 사용하지 못 합니다. 그리고 robots.txt에 설정하는 규칙은 아래와 같이 2 가지가 있습니다.
1. User-Agent
일반적으로 robots이 해당 웹 사이트를 검색할 때 사용하는 user-agent 정보를 확인하며, 아래와 같은 agent가 존재합니다.
google
Googlebot
Google image
Googlebot-image
naver
Cowbot
yahoo
Slurp
Yahoo image
Yahoo-mmcrawler
empas
Empas
msn
Msnbot
User-Agent 설정 시 “*”로 설정하면 전체에 대한 robots 설정을 할 수 있음.
2. Disallow
“Disallow : /folder1/”로 설정할 때 “/folder1″에 대한 access는 허용하지 않도록 설정할 수 있다.
대응기법
1. 관리자 페이지에 대한 접근 정책을 설정하여, 특정 IP 대역에서만 접근을 하도록 하면 보안을 강화할 수 있다. 이는 넷스케이러의 CF(Content Filtering) 기능을 통해서 간단하게 제공할 수 있다.
2. Meta tag 사용하여 robots이 웹 사이트를 검색할 때 웹 페이지에 대한 contents 수집여부 및 방식을 지정하는 규약이다.
일반적으로 설정하는 방법은 아래와 같으며 추가적인 meta tag에 대한 정보는 별도의 자료를 참조(http://www.robotstxt.org”)