屏蔽的ip列表几种方法

 更新时间:2016年11月25日 16:04  点击:1926
收集了几种常用的屏蔽的ip列表的程序处理方法,屏蔽一些IP这样可以让你的网站更好,更稳定了,下面我们不来分析下面的屏蔽

下面我是收集了几种常用的屏蔽的ip列表的程序处理方法,屏蔽这样可以让你的网站更好,更稳定了,下面我们不来分析下面的屏蔽方法吧.

$ip_str = "127.0.0.1,192.1.1.*,202.*,127.*,123.*,142.*,*";
$ip = "127.0.0.254";
function StopIp($ip,$ip_str)
{
    if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
    $ip = explode(".",$ip);
    if(eregi("(,*,|,*.|,*)|(".$ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*)?)",",".$ip_str.","))return true;
}
if(StopIp($ip,$ip_str))echo 1;


function StopIp($ip,$ip_str)
{
        if(strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip))return false;//验证ip如果不是ip格式就返回假
        $ip = explode(".",$ip);
        if(eregi("(,*,|,*.|,*)|,(".$ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*),?)",",".$ip_str.","))return true;
}

function StopIp($ip,$str)
{
    if(stristr(",".$str.",",$ip))return true;//如果在在范围内就不允许
    if(stristr(",".$str.",",",*,") || stristr(",".$str.",",",*"))return true;//如果首次出现,*. 或者 ,* 表示所有站点都不允许
    $iplist = explode(",",$str);
    $ip = explode(".",$ip);
    for($i = 0;$i<count($iplist);$i++)
    {
        if(eregi($ip[0].".(".$ip[1]."|*).?(".$ip[2]."|*)?.?(".$ip[3]."|*)?",$iplist[$i]))return true;
    }
}
//测试
$ip_str = "127.0.0.1,192.1.1.*,202.*,127.*,123.*";//这个是屏蔽的ip列表 以","隔开,如果要屏蔽所有ip请用* 如果想屏蔽127.开头的ip格式为 127.*
$ip = "137.0.0.2"; //需要验证的Ip
if(StopIp($ip,$ip_str))echo 1;


for($i=1;$i<=255;$i++)
{
for($k=1;$k<=255;$K++)
{
for($a=1;$a<=255;$a++)
{
$str .= "192.{$i}.{$k}.{$a}";
}
}
}
这样就能生产 255*255*255 很大的Ip数据量了

这段代码来自php dedecms哦,觉得它这个检测文件与目录大小写得比较好,所以不把它贴出来哦,与各位分享一下吧.

这段代码来自php dedecms哦,觉得它这个检测文件大小写得比较好,所以不把它贴出来哦,与各位分享一下吧.

class SpaceUse
{
 var $totalsize=0; 
 function checksize($indir)
 {
  $dh=dir($indir);
  while($filename=$dh->read())
  {
   if(!ereg("^.",$filename))
   {
    if(is_dir("$indir/$filename")) $this->checksize("$indir/$filename");
    else $this->totalsize=$this->totalsize + filesize("$indir/$filename");
   }
  }
 }
 function setkb($size)
 {
  $size=$size/1024;
  //$size=ceil($size);
  if($size>0)
  {
   list($t1,$t2)=explode(".",$size);
   $size=$t1.".".substr($t2,0,1);
  }
  return $size;
 }
 function setmb($size)
 {
  $size=$size/1024/1024;
  if($size>0)
  {
   list($t1,$t2)=explode(".",$size);
   $size=$t1.".".substr($t2,0,2);
  }
  return $size;
 } 
}

我这是看看dede里面的一段代码,他是用php正则把html文件的内容中的img src 中的图片地址获取然后再上传到本地服务器中哦,下面我们来看看是如何写的吧.

$body="中国WEB第一站<img src=http://www.111cn.net/a.gif>";

preg_match_all("/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);

echo "捕获的图片:";
print_r($img_array);

输出结果是不能你代码的图片地址呢.

结果.http://www.111cn.net/a.gif

<?php
if ( $_SERVER [ 'REQUEST_METHOD' ]== "POST" ){
// Get UserNames and Passwords.
$Logi = file ( "users/log.txt" );
// Work out how many there are
$size = sizeof ( $Logi );
// Break apart passwords and usernames
foreach( $Logi as $Key => $Val )
{ $Data [ $Key ] = explode ( "||" , $Val ); }
// run through list and see if any match
for( $K = 0 ; $K < $size ; $K ++)
{
$user = $Data [ $K ][ 0 ];
$pass = $Data [ $K ][ 1 ];
// If match set cookie and redirect.
if ( $user == trim ( addslashes ( $_POST [ "user" ])) && $pass == trim ( addslashes ( $_POST [ "pass" ])) )
{
setcookie ( "in" , 1 , time ()+ 3600 );
// Start hidden page
header ( "Location: www.111cn.net" );
}
}
echo "Login Failed." ;
// If you didnt log in show login form
} else { ?>
<div style="width:250px">
<div><strong>Black Sheep E-Team Login</strong></div>
<div><form name="Login" method="post" action=" <?=$_SERVER [ 'PHP_SELF' ]; ?> ">
<div align="right">Username:
<input name="user" type="text" >
<br>
Password:
<input name="pass" type="password" >
<br>
<input type="submit" name="Submit" value="Submit">
</div>
</form>
</div></div>
<?php
}
?>

PHP 函数入门教程是每一位学php者都必须掌握的基础知道哦,好了下面我们就来讲一下php函数实例加教程吧.

真正的权力的PHP来自其职能。

在PHP -有7 00多个内置的功能。


-------------------------------------------------- ------------------------------

PHP函数
在本教程,我们将告诉您如何建立自己的职能。

参考和范例内置的职能,请访问我们的PHP参考。


创建一个PHP函数
一个函数是一个代码块,可以被处决时,我们需要它。

创建PHP函数:

所有功能开始改为“函数( ) ”
姓名的功能-它应该能够明白的功能并不由它的名称。的名字就可以开始以字母或下划线(不是一个数字)
添加一个“ ( ” -功能代码开放后卷曲的支撑
插入代码的功能
添加一个“ ) ” -这一功能主要是完成的闭幕曲支撑
例如
一个简单的功能,写我的名字时,它被称为:

<?php
function writeMyName()
  {
  echo "Kai Jim Refsnes";
  }
writeMyName();
?>

使用PHP函数
现在,我们将使用功能的PHP脚本:

<?php
function writeMyName()
  {
  echo "Kai Jim Refsnes";
  }
echo "Hello world!<br />";
echo "My name is ";
writeMyName();
echo ".<br />That's right, ";
writeMyName();
echo " is my name.";
?>
 
 
输出为.
 
Hello world!
My name is Kai Jim Refsnes.
That's right, Kai Jim Refsnes is my name
 

PHP的函数-添加参数
我们的第一个函数( writeMyName ( ) )是一个非常简单的功能。它只是写了一个静态字符串。

要添加更多的功能函数,我们可以添加参数。参数就像一个变数。

您可能已经注意到括号后的函数名称,如: writeMyName ( ) 。参数所指定的括号内。

范例1
下面的例子将第一次写的名字不同,但相同的姓氏:

 

<?php
function writeMyName($fname)
  {
  echo $fname . " Refsnes.<br />";
  }
echo "My name is ";
writeMyName("Kai Jim");
echo "My name is ";
writeMyName("Hege");
echo "My name is ";
writeMyName("Stale");
?>
输出结果.
 
My name is Kai Jim Refsnes.
My name is Hege Refsnes.
My name is Stale Refsnes.
 
下面来看看函数返回值.
 
实例.
 
<?php
function add($x,$y)
  {
  $total = $x + $y;
  return $total;
  }
echo "1 + 16 = " . add(1,16);
?>
 
输出结果.
1 + 16 = 17
[!--infotagslink--]

相关文章

  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • postgresql 实现多表关联删除

    这篇文章主要介绍了postgresql 实现多表关联删除操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-02
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • js控制页面控件隐藏显示的两种方法介绍

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • js屏蔽F12审查元素,禁止修改页面代码等实现代码

    有时候我们需要屏蔽客户端的F12,以防菜鸟也可以随意修改我们的代码,也处于源码的保护等操作,这里就为大家分享一下常见的代码...2020-10-03
  • C#方法的总结详解

    本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04