Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.544.343 Times

LWPx::ParanoidAgent 1.03

  Date Added: August 19, 2010  |  Visits: 576

LWPx::ParanoidAgent

Report Broken Link
Printer Friendly Version


Product Homepage
Download (71 downloads)



LWPx::ParanoidAgent is a Perl subclass of LWP::UserAgent that protects you from harm. SYNOPSIS require LWPx::ParanoidAgent; my $ua = LWPx::ParanoidAgent->new; # this is 10 seconds overall, from start to finish. not just between # socket reads. and it includes all redirects. so attackers telling # you to download from a malicious tarpit webserver can only stall # you for $n seconds $ua->timeout(10); # setup extra block lists, in addition to the always-enforced blocking # of private IP addresses, loopbacks, and multicast addresses $ua->blocked_hosts( "foo.com", qr/.internal.company.com$/i, sub { my $host = shift; return 1 if is_bad($host); }, ); $ua->whitelisted_hosts( "brad.lj", qr/^192.168.64.3?/, sub { ... }, ); # get/set the DNS resolver object thats used my $resolver = $ua->resolver; $ua->resolver(Net::DNS::Resolver->new(...)); # and then just like a normal LWP::UserAgent, because it is one. my $response = $ua->get(http://search.cpan.org/); ... if ($response->is_success) { print $response->content; # or whatever } else { die $response->status_line; } The LWPx::ParanoidAgent is a class subclassing LWP::UserAgent, but paranoid against attackers. Its to be used when youre fetching a remote resource on behalf of a possibly malicious user. This class can do whatever LWP::UserAgent can (callbacks, uploads from files, etc), except proxy support is explicitly removed, because in that case you should do your paranoia at your proxy. Also, the schemes are limited to http and https, which are mapped to LWPx::Protocol::http_paranoid and LWPx::Protocol::https_paranoid, respectively, which are forked versions of the same ones without the "_paranoid". Subclassing them didnt look possible, as they were essentially just one huge function. This class protects you from connecting to internal IP ranges (unless you whitelist them), hostnames/IPs that you blacklist, remote webserver tarpitting your process (the timeout parameter is changed to be a global timeout over the entire process), and all combinations of redirects and DNS tricks to otherwise tarpit and/or connect to internal resources..

Requirements: No special requirements
Platforms: Linux
Keyword: Dns Libraries Lwpx Lwpxparanoidagent Paranoid Paranoidagent Perl Programming Protects Protects You Resolver Subclass Useragent
Users rating: 0/10

License: Freeware Size: 13.31 KB
USER REVIEWS
More Reviews or Write Review


LWPX::PARANOIDAGENT RELATED
Network & Internet  -  mod_perl 2.0.3
mod_perl project brings together the full power of the Perl programming language and the Apache HTTP server. You can use Perl to manage Apache, respond to requests for web pages and much more. mod_perl gives you a persistent Perl interpreter...
3.5 MB  
Libraries  -  DNS::Zone 0.85
DNS::Zone contains a collection of Perl modules which provide an abstraction of name service zones as well as server specific adaptors for concrete file representations. The modules origin is the ZoneMaster project which make heavy use of the...
8.19 KB  
Libraries  -  Inline-API 0.44
Inline-API is a Perl module that teach you how to bind a programming language to Perl using Inline.pm. SYNOPSIS #!/usr/bin/perl use Inline Foo; say_it(foo); # Use Foo to print "Hello, Foo" __Foo__ foo-sub say_it { foo-my $foo =...
91.14 KB  
Utilities  -  Perl OS 4
Perl OS is a program written in the Perl programming language combined with the Perl module Tk. Perl OS was created to make an easy interface to run Perl/Tk programs. It was also created to be an easy working environment complete with a text...
143.36 KB  
Libraries  -  Language::XSB 0.14
Language::XSB is a Perl module that allows you to use XSB from Perl. SYNOPSIS use Language::XSB :query; use Language::Prolog::Types::overload; use Language::Prolog::Sugar vars=>[qw(X Y Z)], functors=>{equal => =}, functors=>[qw(is)],...
14.34 KB  
Libraries  -  HTML::FormHighlight 0.03
HTML::FormHighlight Perl module can help you to highlights fields in an HTML form. SYNOPSIS use HTML::FormHighlight; my $h = new HTML::FormHighlight; print $h->highlight( scalarref => $form, fields => [ A, B, C ], ); print...
5.12 KB  
Libraries  -  XML::Filter::Dispatcher::AsStructHandler 0.52
XML::Filter::Dispatcher::AsStructHandler Perl module can help you convert SAX stream in to simple, data-oriented structure. SYNOPSIS ## Ordinarily used via the XML::Filter::Dispatchers as_data_struct() ## built-in extension function for XPath...
88.06 KB  
Libraries  -  List::Part 0.03
List::Part is a Perl module that allows you to partition one array into several. SYNOPSIS use List::Part; ($good, $bad)=part { !/substring/ } @array; #store arrayrefs into $good and $bad (*good, *bad)=part { !/substring/ } @array; #store...
4.1 KB  
Libraries  -  Set::CrossProduct 1.92
Set::CrossProduct is a Perl module that allows you to work with the cross product of two or more sets. SYNOPSIS my $iterator = Set::CrossProduct->new( ARRAY_OF_ARRAYS ); # get the next tuple my $number_of_tuples = $iterator->cardinality;...
7.17 KB  
Libraries  -  File::Find::Closures 1.06
File::Find::Closures is a Perl module with functions you can use with File::Find. SYNOPSIS use File::Find; use File::Find::Closures qw(:all); my( $wanted, $list_reporter ) = find_by_name( qw(README) ); File::Find::find( $wanted,...
7.17 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB