4

假设我们有以下 perl 脚本

    use LWP;
    use strict;
    use warnings;
    use LWP::UserAgent;


    my $ua = LWP::UserAgent->new;
    $ua->agent('NokiaN97i/SymbianOS/9.1 Series60/3.0');

    my $response = $ua->get('http://myhost.com');

    if ($response->is_success) print $response->decoded_content;
    else die $response->status_line;

它只是连接到 myhost.com/index.php 页面并打印其内容。在 index.php 文件中我有

 file_put_contents('agent.txt', $_SERVER['HTTP_USER_AGENT'], FILE_APPEND);

线。现在用户代理字符串不包含“libwww-perl”。如何识别 perl bot 并对其进行限制?

4

1 回答 1

5

您不能, USER_AGENT 字符串虽然是帮助您识别客户端“浏览器”的唯一因素,但基本上也是用户输入。如果他们改变它 - 你无能为力。

于 2012-11-23T14:00:24.667 回答