Avatar billede mms205 Nybegynder
21. maj 2005 - 02:12 Der er 12 kommentarer

Blokere ip adresser

Er det muligt at blokere alle ip adresser der starte med f.eks. 80.201?

Jeg ved ikke hvordadn man gør, kun hvordan mna blokere 1 ip.
Avatar billede claus_joergensen Nybegynder
21. maj 2005 - 02:18 #1
explode $_SERVER['REMOTE_ADDR'] og header folk til google.dk eller lign, hvis de har forkert ip. (http://se2.php.net/reserved.variables)

Kan lave lave et eksempel.
Avatar billede claus_joergensen Nybegynder
21. maj 2005 - 02:20 #2
http://www.thedeathart.dk/diverse/blok.php

Prøv at ændre scriptet til din ip, og se om du bliver smidt væk.
Avatar billede claus_joergensen Nybegynder
21. maj 2005 - 02:21 #3
og et svar :)
Avatar billede nielle Nybegynder
21. maj 2005 - 08:56 #4
<?php
$IP = $_SERVER['REMOTE_ADDR'];
FIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

if ((FIP <> "") and (FIP <> "unknown"))
    IP = FIP
end if

if (preg_match("/^80\.201\./", $IP))
{
    header("Location: http://www.disney.dk/");
    exit();
}
?>
Avatar billede nielle Nybegynder
21. maj 2005 - 09:01 #5
Hmmm, det blev da en mystisk blanding af PHP og ASP. Her er den i ren PHP:

<?php
$IP = $GLOBALS['REMOTE_ADDR'];
$FIP = $GLOBALS['HTTP_X_FORWARDED_FOR'];

if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;

if (preg_match("/^80\.201\./", $IP))
{
    header("Location: http://www.disney.dk/");
    exit();
}
?>
Avatar billede haren Nybegynder
21. maj 2005 - 13:34 #6
$iparray[] = "00.00.000.000"; //første ban
$iparray[] = "00.00.000.000"; //anden ban
$iparray[] = "00.00.000.000"; //tjedje ban

foreach($iparray as $i => $p) {
if($_SERVER['REMOTE_ADDR'] == $p) {
header("location: http://dr.dk");
exit;
}
}
Avatar billede haren Nybegynder
21. maj 2005 - 13:35 #7
Eller selvfølgelig:

<?php
$iparray = array("00.00.000.000","00.00.000.000","00.00.000.000");

foreach($iparray as $i => $p) {
if($_SERVER['REMOTE_ADDR'] == $p) {
header("location: http://dr.dk");
exit;
}
}
?>
Avatar billede haren Nybegynder
21. maj 2005 - 13:36 #8
Havde derudover glemt <?php ?> i min første kommentar.

Hvis du kan bruge min løsning er her et svar.. :)
Avatar billede mysli Nybegynder
22. maj 2005 - 00:40 #9
Kunne du ikke bruge en explode?

<?php
function baniprange($W = NULL,$X = NULL,$Y = NULL,$Z = NULL){
$ip = explode(".",$_SERVER['REMOTE_ADDR']);

if (isset($W)){
$range = $ip[0];
}
if (isset($X)){
$range = $range .".". $ip[1];
}
if (isset($Y)){
$range = $range .".". $ip[2];
}
if (isset($Z)){
$range = $range .".". $ip[3];
}

if ($range == $ip[0] || $range == $ip[0] .".". $ip[1] || $range == $ip[0] .".". $ip[1] .".". $ip[2] || $range == $ip[0] .".". $ip[1] .".". $ip[2] .".". $ip[3]){

DIE("Den ip der benyttes har ikke adgang til at vise siden");

}


}

Tror den kan klares sådan.

f.eks. baniprange(80,201)


Den kan uden tvivl klares meget bedre, men er træt!
Avatar billede haren Nybegynder
22. maj 2005 - 15:42 #10
Min er gal. Læste emnet forkert. Sorry.. :( :( :(
Avatar billede nielle Nybegynder
25. maj 2005 - 18:04 #11
Har du fået kigget på det?
Avatar billede nielle Nybegynder
26. juni 2005 - 20:03 #12
?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester