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

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

Serving Software Downloads in 956 Categories, Downloaded 50.054.619 Times

LWPx::ParanoidAgent 1.03

  Date Added: August 19, 2010  |  Visits: 747

LWPx::ParanoidAgent

Report Broken Link
Printer Friendly Version


Product Homepage
Download (92 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  
Programming  -  Perl Module Manager 1.2.0.18
Perl Module Manager helps you to install, un-install and manage Perl modules from a CPAN site and other sources in an easy and intuitive way. Allows you to search through thousands of useful modules and libraries on a CPAN site and its mirrors....
1.44 MB  
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  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
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  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
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