Groups | Search | Server Info | Login | Register
Groups > dk.edb.internet.webdesign.serverside.php > #7336
| From | Bertel Lund Hansen <gadekryds@lundhansen.dk> |
|---|---|
| Newsgroups | dk.edb.internet.webdesign.serverside.php |
| Subject | Re: Accesskontrol |
| Date | 2020-05-23 11:46 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <1naa9hntt48jf$.dlg@lundhansen.dk> (permalink) |
| References | (6 earlier) <1oa357603n8pt.dlg@lundhansen.dk> <puqa9mk1cam9.dlg@lundhansen.dk> <20200521182557.4b4d0b4ef8ccdc97e0e7bbd8@gmail.com> <157kyh0m1gw1r$.dlg@lundhansen.dk> <20200522132448.a062bc4ba6c9164b29d8338b@gmail.com> |
Jan Hansen skrev:
> Jeg har forsøgt, men der må være noget, jeg har misforstået.
Ja. Hvis du skal finde et element i et array, så kan du starte
forfra og sammenligne til der er en træffer. Worst case er at man
skal søge på alle elementerne.
Ved binær søgning sørger man først for at sortere det array der
skal søges på, og derefter sammenligner man med det midterste
element. Hvis det er for lille, søger man i den del der går fra
midten og op. Hvis det er for stort, søger man i den nederste
halvdel.
På samme måde opdeler man det nye afsnit der skal søges i og
bliver ved til elementet er fundet.
Hvis der er 1 mio. elementer, tager det højst
log2(1000000)=~19.93 søgninger, altså max 20. Det er noget andet
end den halve million man ellers skulle regne med i snit.
> Det er for det meste lidt hurtigere på
> http://www.sniper-pistol.com/geoip/test1.php
> hvor jeg finder 100 tilfældige IP, først med det jeg har brugt
> hidtil, og bagefter med noget, der skulle ligne binær søgning.
> Det sjove er, at når jeg bytter om, så jeg først søger binært,
> er den hidtige metode generelt hurtigere,
> http://www.sniper-pistol.com/geoip/test2.php
Den hurtigste måde at søge på som jeg har fundet, forudsætter at
man har ip-numrene konverteret til rene tal. Fra:
2.104.0.0-2.104.127.255
omregnes til
40370176-40894463
Hvis man så én gang omregner den IP man vil søge på til
decimaltal, så kan en sammenligning gå hurtigt.
Her er den rutine hvor jeg tjekker om en given IP ligger indenfor
et af de intervaller jeg vil udelukke:
function ip2int ($ip) {
$num=0;
foreach (explode('.',$ip) as $unit)
$num=$num*256+$unit;
return $num;
}
// IP check
$ip=$_SERVER['REMOTE_ADDR'];
$ip_value=ip2int($ip);
$low=0;
$high=count($banned_intervals);
while ($high-$low>1) {
$point=intdiv($low+$high,2);
list($pointbot)=$banned_intervals[$point];
if ($ip_value<$pointbot)
$high=$point;
else
$low=$point;
}
list($bot,$top)=$banned_intervals[$low];
if ($bot<=$ip_value && $ip_value<=$top)
exit();
--
/Bertel
Back to dk.edb.internet.webdesign.serverside.php | Previous | Next — Previous in thread | Next in thread | Find similar
Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-06 17:32 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-06 12:38 -0400
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-06 19:04 +0200
Re: Accesskontrol Kim Ludvigsen <kim@kimsside.dk> - 2020-05-06 19:02 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-06 19:24 +0200
Re: Accesskontrol Kim Ludvigsen <kim@kimsside.dk> - 2020-05-06 19:41 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-06 21:32 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-06 21:17 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-06 21:44 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-06 23:26 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-07 05:38 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-08 13:50 -0400
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-08 21:39 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-08 16:06 -0400
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-09 08:35 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-09 13:34 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-09 20:21 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-09 15:02 -0400
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-09 21:17 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-07 22:44 -0400
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-08 07:17 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-08 11:55 +0200
Re: Accesskontrol Krabsen <usenet@krabsen.dk> - 2020-05-08 14:50 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-08 17:56 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-08 19:09 +0200
Re: Accesskontrol Kim Ludvigsen <kim@kimsside.dk> - 2020-05-08 19:21 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-08 20:03 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-08 19:29 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-08 20:13 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-08 14:34 -0400
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-08 14:30 -0400
Re: Accesskontrol Krabsen <usenet@krabsen.dk> - 2020-05-10 08:21 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-10 10:20 -0400
Re: Accesskontrol Krabsen <usenet@krabsen.dk> - 2020-05-11 08:35 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-11 09:34 -0400
Re: Accesskontrol Martin Larsen <martin+spamfree+larsen@bigfoot.com> - 2020-05-11 15:42 +0200
Re: Accesskontrol Martin Larsen <martin+spamfree+larsen@bigfoot.com> - 2020-05-09 10:47 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-09 15:27 +0200
Re: Accesskontrol Martin Larsen <martin+spamfree+larsen@bigfoot.com> - 2020-05-10 00:47 +0200
Re: Accesskontrol Jan Hansen <jan_hansen@sniper-pistol.com> - 2020-08-02 13:04 +0200
Re: Accesskontrol "Dennis Munding" <nospa@mplease.dk> - 2020-08-02 15:22 +0000
Re: Accesskontrol Jan Hansen <jan_hansen@sniper-pistol.com> - 2020-08-02 17:57 +0200
Re: Accesskontrol Martin Larsen <martin+spamfree+larsen@bigfoot.com> - 2020-08-05 12:24 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-08-06 16:05 -0400
Re: Accesskontrol Jan Hansen <jan_hansen@sniper-pistol.com> - 2020-08-07 10:19 +0200
Re: Accesskontrol Jan Hansen <jan_hansen@sniper-pistol.com> - 2020-08-07 09:55 +0200
Re: Accesskontrol Martin Larsen <martin+spamfree+larsen@bigfoot.com> - 2020-08-07 23:55 +0200
Re: Accesskontrol Jan Hansen <jan_hansen@sniper-pistol.com> - 2020-08-08 11:42 +0200
Re: Accesskontrol Martin Larsen <martin+spamfree+larsen@bigfoot.com> - 2020-08-09 11:28 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-07 19:37 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-07 22:38 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-08 07:23 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-08 11:06 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-08 11:40 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-16 17:38 +0200
Re: Accesskontrol Arne Vajhøj <arne@vajhoej.dk> - 2020-05-16 12:12 -0400
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-16 18:57 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-16 18:13 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-16 18:46 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-16 19:29 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-16 19:42 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-17 11:03 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-16 18:44 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-21 16:39 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-21 16:45 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-21 18:25 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-21 18:53 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-21 20:25 +0200
Re: Accesskontrol Jan Hansen <jhjjhjhhansen@gmail.com> - 2020-05-22 13:24 +0200
Re: Accesskontrol Bertel Lund Hansen <gadekryds@lundhansen.dk> - 2020-05-23 11:46 +0200
Re: Accesskontrol Erik Ginnerskov <egin@mail.dk> - 2020-08-09 17:39 +0200
csiph-web