| Server IP : 85.214.143.32 / Your IP : 216.73.217.70 Web Server : nginx/1.24.0 System : Linux datensicherung.webdress.site 6.8.0-139-generic #139-Ubuntu SMP PREEMPT_DYNAMIC Sat Aug 1 03:52:05 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 7.4.33 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,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/apache/ |
Upload File : |
#!/usr/bin/perl
# create_htaccess.cgi
# Creates a new .htaccess file for some directory
require './apache-lib.pl';
&error_setup($text{'htaccess_err'});
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$conf = &get_config();
$in{'file'} || &error($text{'htaccess_eempty'});
$in{'file'} =~ /^\// && $in{'file'} !~ /\.\./ ||
&error($text{'htaccess_eabsolute'});
if (-d $in{'file'}) {
# user entered a directory.. create a file in that directory
$accfile = &find_directive("AccessFile", $conf);
if (!$accfile) { $accfile = ".htaccess"; }
$file = "$in{'file'}/$accfile";
}
else {
$file = $in{'file'};
}
&allowed_auth_file($file) ||
&error($text{'htaccess_ecreate'});
# create the file (if needed), and add to the known list
&lock_file($file);
if (!(-r $file)) {
&open_tempfile(HTACCESS, ">$file");
&close_tempfile(HTACCESS);
chmod(0755, $file);
$u = &find_directive("User", $conf);
if ($u =~ /#(\d+)/) { $u = $1; }
elsif (defined($u)) { $u = getpwnam($u); }
$g = &find_directive("Group", $conf);
if ($g =~ /#(\d+)/) { $g = $1; }
elsif (defined($g)) { $g = getgrnam($g); }
chown(defined($u) ? $u : $< , defined($g) ? $g : $( , $file);
}
&read_file("$module_config_directory/site", \%site);
@ht = split(/\s+/, $site{'htaccess'});
$site{'htaccess'} = join(' ', &unique(@ht, $file));
&write_file("$module_config_directory/site", \%site);
&unlock_file($file);
&webmin_log("htaccess", "create", $file);
# redirect to editing index
&redirect("htaccess_index.cgi?file=".&urlize($file));