Initial commit.
This commit is contained in:
55
cxs/htaccessdisable.example.pl
Executable file
55
cxs/htaccessdisable.example.pl
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/local/cpanel/3rdparty/bin/perl
|
||||
#******************************************************************************
|
||||
# Copyright 2009-2016, Way to the Web Limited
|
||||
# URL: http://www.waytotheweb.com
|
||||
# Email: sales@waytotheweb.com
|
||||
#******************************************************************************
|
||||
# Example to disable a directory containing a match using a .htaccess file
|
||||
#
|
||||
# NOTE: If you intend to use this script, copy it to a different filename as
|
||||
# this file will be overwritten when cxs upgrades
|
||||
use strict;
|
||||
use File::Basename;
|
||||
|
||||
# Set to 1 to have more verbose output
|
||||
my $verbose = 0;
|
||||
|
||||
if (@ARGV < 2) {print "\ncpanelsuspend.pl: Not enough Args to suspend: @ARGV\n"; exit}
|
||||
|
||||
# Assign arguments to variables
|
||||
my $filename = $ARGV[0];
|
||||
my $option = $ARGV[1];
|
||||
my $message = $ARGV[2];
|
||||
my $account = $ARGV[3];
|
||||
|
||||
# Get the directory name from the file name
|
||||
my $dirname = dirname($filename);
|
||||
|
||||
# If option is a Virus or Known Exploit
|
||||
if ($option =~ /v|M$/) {
|
||||
|
||||
# Check we have a directory
|
||||
if (-d $dirname) {
|
||||
|
||||
# Check that we haven't already disabled a .htaccess file in this directory
|
||||
if (!(-e "$dirname/.htaccess.cxs_disable") and -e "$dirname/.htaccess") {
|
||||
system("/bin/cp","-a","$dirname/.htaccess","$dirname/.htaccess.cxs_disable");
|
||||
}
|
||||
elsif (-e "$dirname/.htaccess.cxs_disable" and !(-e "$dirname/.htaccess")) {
|
||||
unlink("$dirname/.htaccess.cxs_disable");
|
||||
}
|
||||
|
||||
# Write out a new .htaccess file denying access
|
||||
open (my $HTACCESS, ">", "$dirname/.htaccess") or die "htaccessdisable.pl: Unable to create [$dirname/.htaccess] - $!";
|
||||
print $HTACCESS "#cxs has disabled web access to this directory\n";
|
||||
print $HTACCESS "deny from all\n";
|
||||
close ($HTACCESS) or die "htaccessdisable.pl: Unable to create [$dirname/.htaccess] - $!";
|
||||
|
||||
if ($verbose) {print "\nhtaccessdisable.pl: Directory [$dirname] disabled\n"}
|
||||
|
||||
} else {if ($verbose) {print "\nhtaccessdisable.pl: Directory for [$filename] does not exist\n"}}
|
||||
|
||||
|
||||
} else {if ($verbose) {print "\nhtaccessdisable.pl: Not a suspend option ($option)\n"}}
|
||||
|
||||
exit;
|
||||
Reference in New Issue
Block a user