Linux server.nvwebsoft.co.in 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
Apache
: 162.240.12.249 | : 18.118.162.166
202 Domain
8.1.31
nbspublicschool
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
vendor_perl /
HTTP /
Server /
Simple /
[ HOME SHELL ]
Name
Size
Permission
Action
CGI
[ DIR ]
drwxr-xr-x
CGI.pm
3.53
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : CGI.pm
package HTTP::Server::Simple::CGI; use base qw(HTTP::Server::Simple HTTP::Server::Simple::CGI::Environment); use strict; use warnings; use vars qw($VERSION $default_doc $DEFAULT_CGI_INIT $DEFAULT_CGI_CLASS); $VERSION = $HTTP::Server::Simple::VERSION; $DEFAULT_CGI_CLASS = "CGI"; $DEFAULT_CGI_INIT = sub { require CGI; CGI::initialize_globals()}; =head1 NAME HTTP::Server::Simple::CGI - CGI.pm-style version of HTTP::Server::Simple =head1 DESCRIPTION HTTP::Server::Simple was already simple, but some smart-ass pointed out that there is no CGI in HTTP, and so this module was born to isolate the CGI.pm-related parts of this handler. =head2 accept_hook The accept_hook in this sub-class clears the environment to the start-up state. =cut sub accept_hook { my $self = shift; $self->setup_environment(@_); } =head2 post_setup_hook Initializes the global L<CGI> object, as well as other environment settings. =cut sub post_setup_hook { my $self = shift; $self->setup_server_url; if ( my $init = $self->cgi_init ) { $init->(); } } =head2 cgi_class [Classname] Gets or sets the class to use for creating the C<$cgi> object passed to C<handle_request>. Called with a single argument, it sets the coderef. Called with no arguments, it returns this field's current value. To provide an initialization subroutine to be run in the post_setup_hook, see L</cgi_init>. e.g. $server->cgi_class('CGI'); $server->cgi_init(sub { require CGI; CGI::initialize_globals(); }); or, if you want to use L<CGI::Simple>, $server->cgi_class('CGI::Simple'); $server->cgi_init(sub { require CGI::Simple; }); =cut sub cgi_class { my $self = shift; if (@_) { $self->{cgi_class} = shift; } return $self->{cgi_class} || $DEFAULT_CGI_CLASS; } =head2 cgi_init [CODEREF] A coderef to run in the post_setup_hook. Called with a single argument, it sets the coderef. Called with no arguments, it returns this field's current value. =cut sub cgi_init { my $self = shift; if (@_) { $self->{cgi_init} = shift; } return $self->{cgi_init} || $DEFAULT_CGI_INIT; } =head2 setup This method sets up CGI environment variables based on various meta-headers, like the protocol, remote host name, request path, etc. See the docs in L<HTTP::Server::Simple> for more detail. =cut sub setup { my $self = shift; $self->setup_environment_from_metadata(@_); } =head2 handle_request CGI This routine is called whenever your server gets a request it can handle. It's called with a CGI object that's been pre-initialized. You want to override this method in your subclass =cut $default_doc = ( join "", <DATA> ); sub handle_request { my ( $self, $cgi ) = @_; print "HTTP/1.0 200 OK\r\n"; # probably OK by now print "Content-Type: text/html\r\nContent-Length: ", length($default_doc), "\r\n\r\n", $default_doc; } =head2 handler Handler implemented as part of HTTP::Server::Simple API =cut sub handler { my $self = shift; my $cgi; $cgi = $self->cgi_class->new; eval { $self->handle_request($cgi) }; if ($@) { my $error = $@; warn $error; } } 1; __DATA__ <html> <head> <title>Hello!</title> </head> <body> <h1>Congratulations!</h1> <p>You now have a functional HTTP::Server::Simple::CGI running. </p> <p><i>(If you're seeing this page, it means you haven't subclassed HTTP::Server::Simple::CGI, which you'll need to do to make it useful.)</i> </p> </body> </html>
Close