En utilisant PHP, je voudrais comparer une adresse IP réelle à une partie d'un, et voir si elle correspond. Par exemple, je veux voir si l'adresse correspond à 12.34. .en comparant IP réel avec IP partielle en PHP
<?php
$rem_address = getenv('REMOTE_ADDR');
$temp = substr ($rem_address,0,6)
if ($temp == "12.34.") echo "It's a match";
?>
est-il un moyen plus facile/meilleure façon de le faire?
Bonne solution, mais je voudrais ajouter un point après 34. ;-) Juste pour être sûr bien sûr ... puisque les segments IPv4 ne devraient pas dépasser 255. –
Excellente suggestion! J'ai réparé ça. (J'aurais dû être plus prudent sur la copie de la chaîne de test originale.) – JSchaefer
En supposant (comme c'est le cas ici, mais peut-être pas toujours) que le fragment que vous correspondez sera toujours le même, vous pourriez faire FOO .BAR' tant que BAR est de 26 ou plus. Si c'est <= 25, vous pouvez rencontrer des faux positifs lorsque vous faites correspondre 12.244 avec 12.24. D'un autre côté, vous ne rencontrerez jamais 12.345. Il est probablement plus sûr de faire 6 caractères au cas où quelqu'un modifierait le code plus tard, ou que les adresses IP changeraient. – aslum