Heim >Backend-Entwicklung >PHP-Tutorial >php限制单个IP与ip段访问的代码

php限制单个IP与ip段访问的代码

WBOY
WBOYOriginal
2016-07-25 09:13:281131Durchsuche
分享下php实现IP访问限制的两段代码,分为限制单个IP访问与限制IP段访问两例代码,有需要的朋友参考下。
  1. //加IP访问限制
  2. if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  3. $userip = getenv('HTTP_CLIENT_IP');
  4. } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  5. $userip = getenv('HTTP_X_FORWARDED_FOR');
  6. } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  7. $userip = getenv('REMOTE_ADDR');
  8. } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  9. $userip = $_SERVER['REMOTE_ADDR'];
  10. }
  11. $banned_ip = array (
  12. "127.0.0.1",
  13. "203.0.0.1",
  14. "56.12.50.65",
  15. "192.168.1.88"
  16. );
  17. if (in_array($userip,$banned_ip))
  18. {
  19. die ("Your IP is block to connect !");
  20. }
  21. echo "测试代码!测试";
  22. ?>
复制代码
例2,IP段限制,限制IP段访问。
  1. //加IP访问限制
  2. if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  3. $userip = getenv('HTTP_CLIENT_IP');
  4. } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  5. $userip = getenv('HTTP_X_FORWARDED_FOR');
  6. } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  7. $userip = getenv('REMOTE_ADDR');
  8. } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  9. $userip = $_SERVER['REMOTE_ADDR'];
  10. }
  11. $ban_range_low=ip2long("217.0.0.0"); //ip段上
  12. $ban_range_up=ip2long("217.255.255.255");//ip段尾
  13. $ip=ip2long($userip]);
  14. if ($ip>$ban_range_low && $ip
  15. {
  16. print "Banned";
  17. exit();
  18. }
  19. ?>
复制代码




Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn