Permalänk
Medlem

[PHP] Ipcheck?

Nån lustigkurre skriver i min egenhändigt kodade gästbok, detta ska vi sätta stopp för! Gästboken loggar IP-adresserna redan, så jag vet vad personen har för IP/ISP och vilken skola han går på.

$ip = "132.123.123.123"; if (isset($_POST['submit']) && $_SERVER['REMOTE_ADDR'] == $ip) { straff(); }

Det där fungerar ju, men jag misstänker att det finns ett antal datorer till förfogande, så jag behöver rimligtvis blocka hela IP-serien. (Ja, jag är medveten om att det leder till fulhack osv. Det är ändå kul att lära sig.) Hur göra?

OBS: Jag är S-Ä-MST på PHP och jag planerar inte att skriva om gästboken så jag måste godkänna inläggen.
Tack på förhand..

Edit: Kanske strncmp?

strncmp($ip1, $ip2, 8);

Permalänk
Medlem

Säkert jättefult men det funkar (tro ja)

<?php $banrange = "132.123.123"; $ip = $_SERVER['REMOTE_ADDR']; $range = substr($ip,0,strrpos($ip,".")); if($range == $banrange) echo "DIE!"; ?>

edit: strncmp() är inte så lyckat då ip nummer kan vara av olika längd? men iofs är det ju bara en ip-range du ska banna så det kanske kan funka just för det.

Visa signatur

C2D E6550 | TWINX 6400PRO | Radeon HD 6550

Permalänk
Medlem

om du hade sökt i forumet så hade du säkerligen hittat fram till mitt kodexempel i någon tråd

Hursomhelst, här har du exemplet:
http://skorpion.se/nulleman/project/148/file/easyscript.php?i...

Permalänk
Medlem

Svårt att söka då man är sämst. Läste du inte min OBS? Skämt åsido så visste jag inte vad jag skulle söka på.

Permalänk

eller:

$banpattern= "/123\.123\.123\.\d{1,3}/"; if(preg_match($banpattern,$_SERVER['REMOTE_ADDR'])) { die("du är inte välkommen här"); }

bah mina backslashes blev borttagna.

Visa signatur

Asus Maximus II formula, E8400 @ 3.9GHz, 4GB Dominator DDR2, Radeon HD4850.