REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 3.26 KB
Close
//usr/local/lsws/fcgi-bin/lsperld.fpl
Text
Base64
#!/usr/bin/perl use FCGI; #use strict; our %Cache; use Symbol qw(delete_package); *CORE::GLOBAL::exit = \&my_exit; sub my_exit { # warn "exit() was called"; } sub valid_package_name { my($string) = @_; $string =~ s/([^A-Za-z0-9\/])/sprintf('_%2x',unpack('C',$1))/eg; # second pass only for words starting with a digit $string =~ s|/(\d)|sprintf('/_%2x',unpack('C',$1))|eg; # Dress it up as a real package name $string =~ s|/|::|g; return 'LSPerld' . $string; } sub execute_file { my($__filename, $__delete) = @_; my $__package; my $__mtime; my $__path; my $__name; return 404 if ( ! -r $__filename || -z _ ); $__mtime = -M _; if(defined $Cache{$__filename}[3] && $Cache{$__filename}[3] <= $__mtime) { # we have compiled this subroutine already, # it has not been updated on disk, nothing left to do #print STDERR "already compiled $package->handler\n"; $__path = $Cache{$__filename}[0]; $__name = $Cache{$__filename}[1]; $__package = $Cache{$__filename}[2]; chdir( $__path ); } else { $__filename =~ /^(\/.*?)\/*([^\/]+)$/; $__path = $1; $__name = $2; chdir( $__path ); local *FH; open FH, $__filename or die "open '$__filename' $!"; local($/) = undef; my $__sub = <FH>; close FH; $__package = valid_package_name($__filename); #wrap the code into a subroutine inside our unique package my $__eval = qq{package $__package; use subs qw(exit); sub exit { } sub handler { local \$0='$__filename'; $__sub; }}; { # hide our variables within this block my($__filename,$__mtime,$__package,$__sub); eval $__eval; } if ( $@ ) { warn $@; return 500; } #cache it unless we're cleaning out each time if ( ! $__delete ) { #$Cache{$filename}{pkgname} = $package; #$Cache{$filename}{mtime} = $mtime; $Cache{$__filename} = [ $__path, $__name, $__package, $__mtime ]; } } $0=$__filename; @ARGV = ( $__name ); my $__QS = $ENV{'QUERY_STRING'}; if (( $__QS ne '')&&(index( $__QS, '=' ) == -1 )) { push( @ARGV, split( $__QS ) ); } eval {$__package->handler;}; delete_package($__package) if $__delete; return 0; #take a look if you want #print Devel::Symdump->rnew($package)->as_string, $/; } my $req = FCGI::Request(); my $count = 0; my $ret; my $max_req = -1; if ( $ENV{'FCGI_PERL_MAX_REQ'} eq '' ) { $max_req = 500; } else { $max_req = int($ENV{'FCGI_PERL_MAX_REQ'}); } while($req->Accept() >= 0) { my $filename = $ENV{'SCRIPT_FILENAME'}; # Make it looks like ActiveState's PerlEx, otherwise CGI.pm won't reset # request parameters $ENV{'GATEWAY_INTERFACE'} = 'CGI-PerlEx/1.1'; if ( $filename ne '' ) { $ret = execute_file( $filename, 0 ); ++$count; if ( $ret ) { if ( $ret == 404 ) { print( "Status: 404\r\nContent-type: text/plain\r\n\r\n", "ERROR: file not find: \'$filename\'!\n" ); } elsif ( $ret == 500 ) { print( "Status: 500\r\nContent-type: text/plain\r\n\r\n", "ERROR: \'$filename\' is not a valid Perl script!\n" ); } } } else { print( "Content-type: text/plain\r\n\r\n", "ERROR: missing environment variable \'SCRIPT_FILENAME\'!\n" ); } $req->Finish(); last if ( ( $max_req != 0 )&&( $count >= $max_req ) ); }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 12
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ea-ruby27
85 B
lrwxr-xr-x
2025-06-24 14:14:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsnode.js
3.01 KB
lr-xr-xr-x
2026-02-26 14:15:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsnodesm.js
3.16 KB
lr-xr-xr-x
2026-02-26 14:15:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsperld.fpl
3.26 KB
lr-xr-xr-x
2024-03-21 11:04:29
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsphp
4.72 MB
lr-xr-xr-x
2024-03-21 11:04:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsphp4
4.72 MB
lr-xr-xr-x
2024-03-21 11:04:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsphp5
0 B
??????????
2026-03-27 23:51:11
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lsphp7
5.92 MB
lrwxr-xr-x
2026-03-08 21:50:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lswsgi_wrapper
387 B
lr-xr-xr-x
2026-02-26 14:15:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RackRunner.rb
4.49 KB
lr-xr-xr-x
2026-02-26 14:15:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RailsRunner.rb
4.60 KB
lr-xr-xr-x
2026-02-26 14:15:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RailsRunner.rb.2.3
1.07 KB
lr-xr-xr-x
2026-02-26 14:15:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).