in reply to Re^3: HTTP::Proxy and X-Forwarded-For headers
in thread HTTP::Proxy and X-Forwarded-For headers
I should post the code to my proxy:
#!/usr/bin/perl ## ## live-test-proxy.pl ## use strict; use warnings; my $port = 1081; my $file = './http-proxy-recording.pl'; use HTTP::Proxy; use HTTP::Recorder; # create a new HTTP::Recorder object my $agent = HTTP::Recorder->new(file => $file); # create proxy and configure my $proxy = HTTP::Proxy->new(); $proxy->port($port); $proxy->agent( $agent ); # set HTTP::Recorder as the a +gent for the proxy $proxy->x_forwarded_for(0); $proxy->push_filter( host => 'ceverett.medbanner.com', path => '/cgi-bin/', request => EngineTestFilter->new(), ); # start the proxy $proxy->start(); package EngineTestFilter; use base qw/HTTP::Proxy::HeaderFilter/; use strict; use warnings; use Data::Dumper; sub filter { my ($self, $headers, $request) = @_; my $uri = $request->uri(); my ($location, $query) = split(/\?/, $uri); my %params = map { split /=/ } map { split /&/ } $query; $request->uri($location .'?'.join('&', map { "$_=$params{$_}" } qw/ +a s/)); $headers->header(Referer => $params{referer}); $headers->remove_header('X-Forwarded-For'); $headers->header('X-Forwarded-For' => $params{remote_ip}); } 1;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^5: HTTP::Proxy and X-Forwarded-For headers
by tachyon (Chancellor) on Sep 13, 2004 at 22:49 UTC | |
by cleverett (Friar) on Sep 14, 2004 at 05:15 UTC | |
by tachyon (Chancellor) on Sep 14, 2004 at 06:07 UTC | |
by cleverett (Friar) on Sep 14, 2004 at 06:34 UTC |