Study/Web

[Web]robots.txt

seomj 2021. 1. 3. 16:55

robots.txt

웹사이트에 웹 크롤러같은 로봇들의 접근을 제어하기 위한 규약

 

※크롤러란?

크롤링하는 소프트웨어

 

※크롤링(crawling) 혹은 스크레이핑(scraping)

웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위

 

-> 웹 상의 다양한 정보를 자동으로 검색하고 색인하기 위해 사용

 

검색 엔진 사이트들은 검색 속도를 높이기 위해 robot 이라는 프로그램을 만들어서 자동으로 웹 페이지들을 크롤링하는 방법을 사용

 

다만 노출을 원치 않는 경우, 이 robots.txt에 “안내문” 형식으로 특정 경로에 대한 크롤링을 자제해 줄 것을 권고하는 것

 

Ex)

크롤링하는 로봇 프로그램이 http://www.example.com의 웹 사이트를 방문할 경우

먼저 http://www.example.com/robots.txt 파일을 찾게 됨

-> robots.txt 파일이 있을 경우 파일을 읽어 그 내용을 분석하고수집해도 되는 콘텐츠만 수집하고 허락이 안 된 내용은 수집하지 않음

 

BUT

강제 안이 아닌 권고 안이라서 접근 방지 설정을 하였다고 해도, 다른 사람들이 그 파일에 접근할 수 있음

 

 

robots.txt 사용법

robots.txt 위치

robots.txt를 적용할 웹사이트의 최상위 디렉토리에 적용

ex) http://www.example.com -> http://www.example.com/robots.txt 

 

주의사항

반드시 폴더명 맨 끝에 /를 붙여야 함

붙이지 않으면 확장자가 없는 파일로 인식하기 때문에 제대로 작동하지 않음

 

robots.txt 형식

User-agent: <= 제어할 로봇의 User-Agent(웹사이트 관리자가 어떤 종류의 로봇이 크롤링을 하는지 알 수 있게 도움)

Disallow: <= 접근 설정(어떤 웹페이지 URL을 크롤링 하지 않아야 하는지 알려줌)

Crawl-delay: <= 다음방문까지의 디레이(초)(검색엔진 스파이더 봇이 서버를 과도하게 사용하지 못하도록 대기하라는 명령)

 

'*'(와일드카드)는 모든 로봇, '/'슬래시는 모든 디렉토리를 의미

 

Ex 1) 모든 문서에 대해 접근을 허가

User-agent: *
Allow: /

-> Allow: 모든 검색엔진이 이 명령을 인식하지는 않지만 특정 웹페이지나 디렉토리에 접근하라는 명령

User-agent: *
Disallow: 

 

 

Ex 2) 모든 문서에 대해 접근을 차단

User-agent: *
Disallow: /

 

Ex 3) 구글봇(Googlebot)만 허용하고 나머지는 모두 차단

User-agent: Googlebot
Disallow:

User-agent: *
Disallow: /

 

 

 

출처

namu.wiki/w/robots.txt

server-talk.tistory.com/93

gbsb.tistory.com/80

limelightkr.co.kr/robots-txt-%EA%B7%B8%EA%B2%8C-%EB%AD%90%EC%A3%A0/

'Study > Web' 카테고리의 다른 글

[DVWA] Stored XSS  (0) 2021.06.13
[DVWA] Reflected XSS  (0) 2021.06.13
XSS(Cross Site Scripting)  (0) 2021.06.13
[Web][beebox]HTML Injection - Reflected (GET)  (0) 2020.12.21
HTTP Request, Response  (1) 2020.07.12