Server IP : 195.201.23.43 / Your IP : 3.148.109.137 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/htaccess-htpasswd/ |
Upload File : |
#!/usr/bin/perl # search.cgi # Find .htaccess files under some directory require './htaccess-lib.pl'; &foreign_require($apachemod, "apache-lib.pl"); &ReadParse(); &error_setup($text{'search_err'}); if ($in{'search'} !~ /^\// && $accessdirs[0] ne "/") { # Make path absolute $in{'search'} = "$accessdirs[0]/$in{'dir'}"; } $in{'search'} =~ /^\// && $in{'search'} !~ /\.\./ || &error($text{'search_edir'}); &can_access_dir($in{'search'}) || &error($text{'search_ecannot'}); &ui_print_unbuffered_header(undef, $text{'search_title'}, ""); @dirs = &list_directories(); %got = map { ( "$_->[0]/$config{'htaccess'}", 1 ) } @dirs; print "<b>",&text('search_doing', "<tt>$in{'search'}</tt>"),"</b><p>\n"; # Use the find command &switch_user(); open(FIND, "find ".quotemeta($in{'search'})." -name ". quotemeta($config{'htaccess'})." -print 2>/dev/null |"); while($f = <FIND>) { chop($f); if ($got{$f}) { print &text('search_already', "<tt>$f</tt>"),"<br>\n"; } elsif (!open(TEST, $f)) { print &text('search_open', "<tt>$f</tt>", $!),"<br>\n"; } else { $conf = &foreign_call($apachemod, "get_htaccess_config", $f); $currfile = &foreign_call($apachemod, "find_directive", "AuthUserFile", $conf, 1); $require = &foreign_call($apachemod, "find_directive", "require", $conf, 1); if ($currfile && $require) { print &text('search_found', "<tt>$f</tt>", "<tt>$currfile</tt>"),"<br>\n"; local $d = $f; $d =~ s/\/$config{'htaccess'}$//; push(@dirs, [ $d, $currfile ]); } else { print &text('search_noprot', "<tt>$f</tt>"),"<br>\n"; } } } close(FIND); print "<p><b>$text{'search_done'}</b><p>\n"; &switch_back(); &lock_file($directories_file); &save_directories(\@dirs); &unlock_file($directories_file); &webmin_log("search", $in{'search'}); &ui_print_footer("", $text{'index_return'});Private