首頁 > 後端開發 > php教程 > php限制單一IP與ip段存取的程式碼

php限制單一IP與ip段存取的程式碼

WBOY
發布: 2016-07-25 09:13:28
原創
1125 人瀏覽過
分享下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<$ban_range_up)
  15. {
  16. print "Banned";
  17. exit();
  18. }
  19. ?>
复制代码




來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板