Avatar billede noob2003 Nybegynder
12. april 2008 - 09:26 Der er 2 kommentarer og
1 løsning

ip ban med enkelt ip eller ip range med mysql

Er der nogen der ved hvor man finde et stand alone free ip ban system med enkelt ip eller ip range.

hvis ikke nogen der vil hjælp mig med at lave det også smider i artikler til fri afbenyttelse, da jeg ved der er mange der altid søger den slags.
Avatar billede coderdk Praktikant
12. april 2008 - 18:35 #1
Gem dem i databasen som INT med følgende struktur:

id INT NOT NULL auto_increment
startrange INT NOT NULL
endrage INT NOT NULL

og brug ip2long:

$longip = sprintf("%u", ip2long($ip));

Ved enkelte IP'er gemmer du bare IP'en i startrage og endrage

Så er en range bare:

$startrange = sprintf("%u", ip2long($start_ip));
$endrange = sprintf("%u", ip2long($slut_ip));

Så kan du:

$test_ip = sprintf("%u", ip2long($ip));
$sql = "SELECT 1 FROM banned_ips WHERE startrage <= $test_ip AND endrage >= $test_ip";
$qh = mysql_query( $sql ) or die( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  die( "Banned IP!" );
}
Avatar billede noob2003 Nybegynder
22. juni 2010 - 13:49 #2
et svare :)
Avatar billede coderdk Praktikant
22. juni 2010 - 14:34 #3
:)
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