Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pula IP, sprawdzanie przynależności
cube
post 5.05.2005, 20:33:25
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 9.03.2005

Ostrzeżenie: (0%)
-----


Jak najefektywniej sprawdzić czy podany adres IP należy do jakiejś puli ?
Np czy IP
Kod
10.35.100.150

należy do puli
Kod
10.20.30.40 - 11.10.20.30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dr_bonzo
post 5.05.2005, 20:51:56
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Zamienic IP na integera i porownac:

10.15.100.15 = 10 x 256^3 + 15 x 256^2 + 100 x 256 ^1 + 15 x 256^0 = ..... (! jak pamietam php przekkonwertuje ci liczbe do floata -- ale bedzie ok)
i tak samo z pozostalymi
i potem sprawdzasz czy 10.35.100.150 jest miedzy 10.20.30.40 - 11.10.20.30 (w postaci integerow)
----
znalazlem: IP manipulator, wymaga php5:

  1. <?php
  2.  
  3. /**
  4.  * Converts IP address (aaa.bbb.ccc.ddd) to decimal number
  5.  * (float type, because address can be > 2E9 -- that means negative integer)
  6.  *
  7.  * @param string $sIp
  8.  * @return float Ip address
  9.  */
  10. static public function ipToDec( $sIp )
  11. {
  12. $aIp = explode( '.', $sIp );
  13. $fIp = 0;
  14.  
  15. for ( $i = 0; $i < 4; $i++ )
  16. {
  17. $fIp = $fIp * 256 + intval( $aIp[ $i ] );
  18. }
  19.  
  20. return floatval( $fIp );
  21. }
  22.  
  23. ?>


Ten post edytował dr_bonzo 5.05.2005, 20:54:38


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
cube
post 5.05.2005, 23:16:16
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 9.03.2005

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2005-05-05 19:51:56)
Zamienic IP na integera i porownac:

Dzięki.
Też na to wpadłem, ale wydało mi się jakieś mało efektywne.

PS. Temat pozostaje otwarty
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:50