서버가 Apache에서 실행 중이고 libwww-perl을 차단하려고 시도하고 있지만 작동하지 않는 이유는 확실하지 않습니다. .htaccess에 다음을 넣었지만 테스트를 실행해도 libwww-perl이 여전히 차단되지 않았다는 알림이 표시됩니다.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
여기 글을 봤는데.htaccess를 생성하고 UserAgent libwww-perl을 차단하는 방법은 무엇입니까?
그러나 그들은 IIS7을 실행하는 것 같아서 거기에 대한 답변이 적용되지 않는다고 생각합니다.
나는 다음을 추가해 보았습니다:
SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^libwww-perl" bad_bot
<Location />
Order allow,deny
Allow from all
Deny from env=bad_bot
</Location>
다른 기사에서 제안한 내용http://community.spiceworks.com/how_to/1443-how-to-block-libwww-perl, 그런데 내부 서버 오류 500이 발생합니다.
어떤 아이디어가 있나요?
친절한 감사
답변1
아래 블록을 시도해 보세요. 방금 Apache 설정 중 하나에서 직접 테스트했는데 제대로 작동했습니다.
<IfModule mod_rewrite.c>
RewriteEngine on
SetEnvIfNoCase User-Agent ^libwww-perl bad_bot
Order Allow,Deny
Allow from ALL
Deny from env=bad_bot