Ich habe eben ein kleines weiteres Shellscript fertig geschrieben, welchen mit Hilfe einer .htaccess Datei bestimmten IP-Adressen oder Hosts den Zugriff auf einen bestimmten Bereich verwehren kann.
Das Script legt dazu eine .htaccess-Datei an, falls diese noch nicht vorhanden ist, und fügt dann je nach Befehl einen deny from X -Eintrag hinzu bzw. löscht einen aus der vorhandenen Liste. Damit muss man nicht mehr die .htaccess öffnen und die Zeilen manuell bearbeiten, was bei einer langen Liste mühselig wird.
#!/bin/bash
###.htaccesskiller by Sebastian Neef
###Version 1.0
HTACCESSFILE='.htaccess'
function usage() {
echo "Usage:\n
sh htaccesskiller.sh -kill IP/Host
sh htaccesskiller.sh -unkill IP/Host
"
}
function killIP()
{
echo "deny from $1" >> $HTACCESSFILE
}
function unkillIP()
{
sed -i -e "/$1/d" $HTACCESSFILE
}
if [ ! -f $HTACCESSFILE ]
then
echo "There is no .htaccess file to edit. Do you want to create one? Y/N: "
read ANSWER
if [ $ANSWER = "Y"}
then
touch .htaccess
echo "order deny, allow" >> $HTACCESSFILE
echo "allow from all" >> $HTACCESSFILE
echo ".htaccess file created"
else
echo "Exiting"
exit 1
fi
fi
if [ ! -w $HTACCESSFILE ]
then
echo "Cannot write to .htacces"
exit 1
fi
if [ $# -eq 2 ]
then
if [ $1 = "-kill" ]
then
killIP $2
echo "Killed IP/Host adress"
elif [ $1 = "-unkill" ]
then
unkillIP $2
echo "Removed IP/Host adress"
else
echo "Wrong command"
exit 1
fi
else
echo "Some parameters are not set or missing"
usage
exit 1
fi
exit 0
Oder per Download über diesen Befehl:
wget "https://gehaxelt.in/blog/wp-content/uploads/2012/04/htaccesskiller.sh_.txt" -O htaccesskiller.sh
Der Pfad zur .htaccess-Datei, welche bearbeitet werden soll, kann in der Datei bearbeitet werden. Standardmäßig wird eine im localen Ordner genutzt.
Gruß
gehaxelt