PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script zum Ausschliessen von bestimmten Ips



Boarder
28.08.2009, 11:01
Hallo,
Ich suche ein Script womit man bestimmt Ips auschliessen kann und zwar besucht jeden Tag ein staatliche Institution (195.145.245.92) eine Website einer Bekannten. Ist mir klar das sie über Tor oder vpn trotzdem auf die Seite können, aber die mühe sollen sie schon machen. ;-)

fred777
28.08.2009, 11:07
kannst du mit .htaccess ganz einfach machen:

order allow,deny
deny from 195.145.245.92Ansonsten halt mit PHP ein Script schreiben welches die $_SERVER['REMOTE_ADDR'] auf "195.145.245.92" checkt und dann einen header("LOCATION: http://google.de") macht.
Mit include("check.php") dann in alle Scripte einbinden

Edit: kommplette Ranges bannen ist unnütz, da du auch mögliche Gäste ausschließt:

check.php

<?php
if($_SERVER['REMOTE_ADDR'] == "91.17.215.170")
{
header("LOCATION: http://google.de");
}
?>sonstiges.php (AM ANFANG):


<?php
include("check.php");
?>
#...bla code

SubZero1993
28.08.2009, 11:11
Du kannst natürlich diese IP Range komplett bannen also 195.145. ;)



<?
//--- IP-Bann (Start)---
$ban = false;

$ipsBanned = array(
"IP1",
"IP2",
);


$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

$x = count($ipsBanned);

for ($y = 0; $y < $x; $y++)
{
$brange = substr($ip, 0, strlen($ipsBanned[$y]));

// echo " <br>$y: $ipsBanned[$y]";

if ($ip == $ipsBanned[$y] OR ($brange == $ipsBanned[$y]))
{
$ban="true";
// echo " <<< gefunden";
}
}
if ($ban=="true")
{
header("Location: http://google.de/");
}
//--- IP-Bann (Ende)---
?>

Bei

$ipsBanned = array(
"IP1",
"IP2",
);
Einfach die IP/IP's eintragen

Und bei
header("Location: http://google.de/");einfach die Seite verlinken auf die die gebannten verwiesen werden sollen ;)

Boarder
28.08.2009, 11:35
also müsste ich es bei joomla einfach in die index.php und index2.php einbinden?

SubZero1993
28.08.2009, 11:42
Ich weiß jetzt nicht ob Joomla im Adminbereich Einstellungen für Werbebanner hat, aber falls es die geben sollte könntest Du schauen ob du den Code dort eintragen könntest, dann würde der Code auf der gesamten Seite angewendet werden.
Ansonsten kopierst Du es halt in die Index bzw. sogar die PHP Datei die für das Forum zuständig ist ;)

fred777
28.08.2009, 11:56
Den ganzen Code kopieren, komplett unnötig.
einfach am Anfang der Dateien:
<?php
include("check.php");
?>
einfügen und schon passt es. Falls schon eine Art config.php besteht, welche sowieso überall eingebunden wird, kannst du den Code von check.php einfach darein schreiben, er wird dann mit included.

VeN0m
28.08.2009, 12:42
Ich würde es so versuchen:



RewriteEngine on
RewriteCond %{REMOTE_ADDR} !127.0.0/1
RewriteRule ^.*$ http://google.de [L,R]


Ist jetzt das Ergebnis von ein Wenig Google ^^.
Erfasst die IP 127.0.0.1, da /1 eine IP abdeckt. Das ganze sollte aber eher auf das Sperren von Ranges ausgelegt sein, mir fehlt gerade die Lust, weiter einzelne IP's zu versuchen. Bei mir ging ein pures 127.0.0.1 nämlich nicht.
Kannst ja nochmal ein Wenig gucken. Ansonsten würde ich ebenfalls eine solche Methode wie Fred empfehlen. Wenn man sowieso in jede Datei eine config includet, kann man diese auch erweitern.

Boarder
28.08.2009, 12:51
Danke, klappt super. Naja den den Range 195.145.245 kann ich ja bannen, da ich nicht denke das Gäste dieses IP nutzen, da diese ja vom Freistaat Thüringen genutz wird. Oder?

fred777
28.08.2009, 12:55
Schlechtes Deutsch ftw!
Naja klar kannst du auch Ranges bannen wobei ich denke dass das mit einem einfachen regexp sogar noch am einfachsten wäre ;)

Boarder
28.08.2009, 13:27
Wie meinst du das mit den Regulären Ausdruck? Meinst du die IP von 195.145.245.0-195.145.245.255 auszusperren?