Autor Zpráva
Kolemjdouci 2012
Profil *
Dobrý den,

zkouším si jeden script propojit přes mobilní platby a tam mi píší že si mám kotrolovat rozmezí těchto ip adres 195.47.87.160 - 195.47.87.191. Jak mohu udělat podmínku? Něco jako

if($_SERVER['REMOTE_ADDR'] == "TADY S IP SEM ZKONČIL"){
  // Dobře, vykonám script
  }
  



Napadá mě pomocí array tam zapsat všechny ip adresy a pak je kontrolovat, ale zdá se mi to moc zdlouhavé.


Tak že si odpovím sám

<?php
$server_ip = array(
            '195.47.87.160',
            '195.47.87.161',
            '195.47.87.162',
            '195.47.87.163',
            '195.47.87.164',
            '195.47.87.165',
            '195.47.87.166',
            '195.47.87.167',
            '195.47.87.168',
            '195.47.87.169',
            '195.47.87.170',
            '195.47.87.171',
            '195.47.87.172',
            '195.47.87.173',
            '195.47.87.174',
            '195.47.87.175',
            '195.47.87.176',
            '195.47.87.177',
            '195.47.87.178',
            '195.47.87.179',
            '195.47.87.180',
            '195.47.87.181',
            '195.47.87.182',
            '195.47.87.183',
            '195.47.87.184',
            '195.47.87.185',
            '195.47.87.186',
            '195.47.87.187',
            '195.47.87.188',
            '195.47.87.189',
            '195.47.87.190',
            '195.47.87.191',
        );
Str4wberry
Profil
Elegantnější by bylo si pomocí explode rozdělit IP adresu na oktety a porovnat ten čtvrtý jako číslo v rozmezí.
SeparateSK
Profil
ked mas uz tu array ip adries ,staci toto:
<?php
if(in_array($_SERVER[REMOTE_ADDR],$server_ip)){
//tvoj kod
}
?>
alebo s explode:
<?php
$ipEx=explode(".",$_SERVER[REMOTE_ADDR]);
if($ipEx[0]=="195"&&$ipEx[1]=="47"&&$ipEx[2]=="87"&&$ipEx[3]>=160&&$ipEx[3]<=191){
//tvoj kod
}
?>
BuGeR
Profil
Str4wberry:
Co když půjde (později) o IPv6?
Str4wberry
Profil
Tak se také použije explode.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: