메타데이터 및 데이터 단계에서 작동하는 필터링 함수는 함수 및 해당 등록 정보에서 지정한 특정 기준에 따라 자원을 허용하거나 거부합니다. 이러한 함수는 filter.conf 파일의 열거 및 생성 필터 모두에 사용할 수 있습니다.
각 filter-by 함수가 비교를 수행한 다음 자원을 허용하거나 거부합니다. 자원을 허용하면 다음 필터링 단계를 계속 진행합니다. 자원을 거부하면 자원이 더 이상의 열거 또는 생성을 위한 기준에 맞지 않으므로 처리가 중지됩니다.
filter-by-exact 함수는 allow/deny 문자열이 정보의 소스와 정확하게 일치하면 자원을 허용하거나 거부합니다. 키워드 all은 어떤 문자열과도 일치합니다.
정보의 소스
문자열을 포함합니다.
다음 예에서는 컨텐트 유형이 text/plain인 모든 자원이 필터링에서 제거됩니다. 나머지 모든 자원은 계속 진행하도록 허용됩니다.
Data fn=filter-by-exact src=type deny=text/plain
filter-by-max 함수는 지정된 정보 소스가 주어진 값보다 작거나 같은 경우에 자원을 허용합니다. 정보 소스가 지정된 값보다 크면 자원을 거부합니다.
이 함수는 필터당 한 번만 호출할 수 있습니다.
filter-by-max 함수는 filter-by-max 함수에서 사용되는 등록 정보를 나열합니다.
정보의 소스: hosts, objects 또는 depth
비교할 값을 지정합니다.
이 예에서는 자원의 content-length가 1024KB보다 작은 경우 자원을 허용합니다.
MetaData fn-filter-by-max src=content-length value=1024
filter-by-md5 함수는 해당 MD5 체크섬 값이 있는 첫 번째 자원만 허용합니다. 이 로봇이 현재 자원의 MD5를 이전 자원에서 발견했다면 현재 자원은 거부됩니다. 이 함수는 동일한 자원이 중복 사용되거나 단일 자원에서 여러 URL을 사용하지 않도록 해줍니다.
데이터 단계 이후에서만 이 함수를 호출할 수 있습니다. 이 함수는 필터당 한 번만 호출할 수 있습니다. 또한 이 필터는 filter-by-md5를 호출하기 전에 generate-md5 함수를 호출하여 MD5 체크섬을 생성해야 합니다.
없음
다음 예에서는 먼저 체크섬을 생성하고 이를 바탕으로 필터링하여 MD5 체크섬을 처리하는 일반적인 방법을 보여줍니다.
Data fn=generate-md5
Data fn=filter-by-md5
filter-by-prefix 함수는 해당 정보 소스가 지정된 접두어 문자열로 시작되는 경우 자원을 허용하거나 거부합니다. 자원이 완전히 일치할 필요는 없습니다. 키워드 all은 어떤 문자열과도 일치합니다.
정보의 소스
접두어 비교에 사용할 문자열을 포함합니다.
다음 예는 text/html 및 text/plain을 포함하여 content-type이 텍스트 유형인 자원을 허용합니다.
MetaData fn=filter-by-prefix src=type allow=text
filter-by-regex 함수는 정규식 패턴 매칭을 지원합니다. 이 함수는 해당 정규식과 일치하는 자원을 허용합니다. 지원되는 정규식 구문은 POSIX.1 사양에서 정의됩니다. 정규식 \\\\*는 어떤 것과도 일치합니다.
정보의 소스
정규식 문자열을 포함합니다.
다음 예에서는 .gov 도메인에 있는 사이트의 모든 자원을 거부합니다.
MetaData fn=filter-by-regex src=host deny=\\\\*.gov
filterrules-process 함수는 filterrules.conf 파일에 있는 사이트 정의 및 필터 정의를 처리합니다.
없음
MetaData fn=filterrules-process