blib/lib/Plack/Middleware/Antibot/FakeField.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
statement | 26 | 26 | 100.0 |
branch | 4 | 4 | 100.0 |
condition | 6 | 7 | 85.7 |
subroutine | 6 | 6 | 100.0 |
pod | 2 | 2 | 100.0 |
total | 44 | 45 | 97.7 |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package Plack::Middleware::Antibot::FakeField; | ||||||
2 | |||||||
3 | 2 | 2 | 64666 | use strict; | |||
2 | 4 | ||||||
2 | 58 | ||||||
4 | 2 | 2 | 8 | use warnings; | |||
2 | 2 | ||||||
2 | 62 | ||||||
5 | |||||||
6 | 2 | 2 | 7 | use parent 'Plack::Middleware::Antibot::FilterBase'; | |||
2 | 2 | ||||||
2 | 8 | ||||||
7 | |||||||
8 | 2 | 2 | 1097 | use Plack::Request; | |||
2 | 56129 | ||||||
2 | 357 | ||||||
9 | |||||||
10 | sub new { | ||||||
11 | 9 | 9 | 1 | 5735 | my $self = shift->SUPER::new(@_); | ||
12 | 9 | 15 | my (%params) = @_; | ||||
13 | |||||||
14 | 9 | 100 | 72 | $self->{field_name} = $params{field_name} || 'antibot_fake_field'; | |||
15 | 9 | 100 | 37 | $self->{score} = $params{score} || 0.8; | |||
16 | |||||||
17 | 9 | 29 | return $self; | ||||
18 | } | ||||||
19 | |||||||
20 | sub execute { | ||||||
21 | 11 | 11 | 1 | 10304 | my $self = shift; | ||
22 | 11 | 13 | my ($env) = @_; | ||||
23 | |||||||
24 | 11 | 100 | 28 | if ($env->{REQUEST_METHOD} eq 'POST') { | |||
25 | 7 | 38 | my $value = Plack::Request->new($env)->param($self->{field_name}); | ||||
26 | 7 | 100 | 66 | 3301 | if (defined $value && length $value) { | ||
27 | 6 | 18 | $env->{'plack.antibot.fakefield.detected'}++; | ||||
28 | } | ||||||
29 | } | ||||||
30 | else { | ||||||
31 | 4 | 11 | $env->{'plack.antibot.fakefield.field_name'} = $self->{field_name}; | ||||
32 | 4 | 15 | $env->{'plack.antibot.fakefield.html'} = <<"EOF"; | ||||
33 | |||||||
34 | |||||||
35 | |||||||
36 | |||||||
37 | EOF | ||||||
38 | } | ||||||
39 | |||||||
40 | 11 | 24 | return; | ||||
41 | } | ||||||
42 | |||||||
43 | 1; | ||||||
44 | __END__ |