Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
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
BLACK DEFEND!
README
+ Create Folder
+ Create File
[ A ]
[ C ]
[ D ]
C: /
xampp7 /
perl /
vendor /
lib /
HTTP /
Server /
Simple /
[ HOME SHELL ]
Name
Size
Permission
Action
CGI
[ DIR ]
drwxrwxrwx
CGI.pm
3.48
KB
-rw-rw-rw-
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($default_doc $DEFAULT_CGI_INIT $DEFAULT_CGI_CLASS); $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