屏蔽的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哦,觉得它这个检测文件大小写得比较好,所以不把它贴出来哦,与各位分享一下吧.
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 namePHP的函数-添加参数
我们的第一个函数( 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
相关文章
php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 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更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- 这篇文章主要介绍了postgresql 实现多表关联删除操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-02
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法
手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21- 最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
- 单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
- 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- 有时候我们需要屏蔽客户端的F12,以防菜鸟也可以随意修改我们的代码,也处于源码的保护等操作,这里就为大家分享一下常见的代码...2020-10-03
- 本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04