php防止单ip攻击代码,php防止ddos攻击

本文目录一览:

php高手来,求禁止ip并且转发url代码

?php

//加IP访问限制

if(getenv(‘HTTP_CLIENT_IP’) strcasecmp(getenv(‘HTTP_CLIENT_IP’), ‘unknown’)) {

$userip = getenv(‘HTTP_CLIENT_IP’);

} elseif(getenv(‘HTTP_X_FORWARDED_FOR’) strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR’), ‘unknown’)) {

$userip = getenv(‘HTTP_X_FORWARDED_FOR’);

} elseif(getenv(‘REMOTE_ADDR’) strcasecmp(getenv(‘REMOTE_ADDR’), ‘unknown’)) {

$userip = getenv(‘REMOTE_ADDR’);

} elseif(isset($_SERVER[‘REMOTE_ADDR’]) $_SERVER[‘REMOTE_ADDR’] strcasecmp($_SERVER[‘REMOTE_ADDR’], ‘unknown’)) {

$userip = $_SERVER[‘REMOTE_ADDR’];

}

$ip_arr = explode(‘.’, $userip);

#限制的ip段,假设是192.168.*.*

if (!(($ip_arr[0] == ‘192’ $ip_arr[1]==’168′) )){

header(“”);

exit;

}else

{

header(“”);

exit;

}

?

求一段PHP限制IP及IP段访问的代码,拜托了。。

正确代码

function check_ip(){

$ALLOWED_IP=array(‘192.168.2.*’,’127.0.0.1′,’192.168.2.49′);

$IP=getIP();

$check_ip_arr= explode(‘.’,$IP);//要检测的ip拆分成数组

#限制IP

if(!in_array($IP,$ALLOWED_IP)) {

foreach ($ALLOWED_IP as $val){

if(strpos($val,’*’)!==false){//发现有*号替代符

$arr=array();//

$arr=explode(‘.’, $val);

$bl=true;//用于记录循环检测中是否有匹配成功的

for($i=0;$i4;$i++){

if($arr[$i]!=’*’){//不等于* 就要进来检测,如果为*符号替代符就不检查

if($arr[$i]!=$check_ip_arr[$i]){

$bl=false;

break;//终止检查本个ip 继续检查下一个ip

有人用软件反复向我的网站post请求,php程序如防止来自同一IP的攻击?

无论使用PHP还是Apache(.htaccess)的手段,这个IP的请求还是被彻底执行了。CPU还是被占用了,虽然可能会占用的稍微少一点。

所以通过服务器设置,比如在Linux使用iptables防火墙。或者使用其他的前置的硬件防火墙。过滤这种同一IP在短时间内的不间断访问。这才是有效的手段。

PHP中限制IP段访问、禁止IP提交表单的代码

我们只要在feedback.php中添加下面的代码进行判断就可以了。

注意:下边只是一个PHP限制IP的实例代码,如果您打算应用到CMS中,请自行修改,或者如果您正在使用DEDECMS,可以联系本站。

复制代码

代码如下:

?php

//加IP访问限制

if(getenv(‘HTTP_CLIENT_IP’)

strcasecmp(getenv(‘HTTP_CLIENT_IP’),

‘unknown’))

{

$userip

=

getenv(‘HTTP_CLIENT_IP’);

}

elseif(getenv(‘HTTP_X_FORWARDED_FOR’)

strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR’),

‘unknown’))

{

$userip

=

getenv(‘HTTP_X_FORWARDED_FOR’);

}

elseif(getenv(‘REMOTE_ADDR’)

strcasecmp(getenv(‘REMOTE_ADDR’),

‘unknown’))

{

$userip

=

getenv(‘REMOTE_ADDR’);

}

elseif(isset($_SERVER[‘REMOTE_ADDR’])

$_SERVER[‘REMOTE_ADDR’]

strcasecmp($_SERVER[‘REMOTE_ADDR’],

‘unknown’))

{

$userip

=

$_SERVER[‘REMOTE_ADDR’];

}

//限制ip

if

($userip==’27.37.188.128′){

header(“location:”);//被禁止后跳转到脚本之家站

exit;

}

//限制ip段

$ip_arr

=

explode(‘.’,

$userip);

#限制的ip段,假设是192.168.*.*

if

(!(($ip_arr[0]

==

‘192’

$ip_arr[1]==’168′)

)){

header(“location:”);//被禁止后跳转到脚本之家素材站

exit;

}else{

header(“location:”);//正常IP则直接访问脚本之家首页

exit;

}

?

限制ip地址段访问的php代码

?php

$userip = $_SERVER[‘REMOTE_ADDR’]; //获得用户ip

$userips = explode(“.”, $userip);//把获得的ip切开成数组

if(($userips[0]=195 $userips[0]=195)($userips[1]=163 $userips[1]=163)($userips[2]=079 $userips[2]=072)($userips[3]=255 $userips[3]=000)){

echo “您的ip不符!”;

exit;

}else{

echo “通过验证!”;

}

?

我的思路就是这样的

获得用户的IP 用”.”分割成数组

再将 限制IP断 分别用”.”分割成数组

然后判断用户IP是否在这个IP断内(分别判断四个元素是否在这个范围里)

……

下面是蓝色理想里找到的一个供你参考

——————————————————

?php

class IP{ //获取客户IP地址

function getIpAdr($ ip){

$ ip1=getenv(“HTTP_X_FORWARDED_FOR”);

$ ip2=getenv(“HTTP_CLIENT_IP”);

$ ip3=getenv(“REMOTE_ADDR”);

if($ ip1$ ip1!=’unknow’)

$ ip=$ ip1;

else if($ ip2$ ip2!=’unknow’)

$ ip=$ ip2;

else if($ ip3$ ip3!=’unknow’)

$ ip=$ ip3;

else

$ ip=’127.0.0.1′;

}

}

function get_netip($ myip){ //只留客户IP地址的前三位

$ temp=explode(“.”,$ myip);

$ netip.=$ temp[0];

$ netip.=”.”;

$ netip.=$ temp[1];

$ netip.=”.”;

$ netip.=$ temp[2];

return $ netip;

}

$ filename=”test.ini”; //定义操作文件

$ ip_lib=file($ filename); //读取文件数据到数组中

$ allow=0;

$ IP=new IP;

$ thisip=””;

$ IP-getIpAdr($ thisip);

$ thenetip=get_netip($ thisip);

for($ i=0;$ icount($ ip_lib);$ i++){

if(ereg($ thenetip,$ ip_lib[$ i])){

$ allow=1;

break;

}

}

if ($ allow==1)

{

echo “验证通过”;

}

else {

echo “scriptlocation.href=’Error.php’;/script”;

}

?

原创文章,作者:IYDMU,如若转载,请注明出处:https://www.506064.com/n/329626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
IYDMUIYDMU
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • Python爱心代码动态

    本文将从多个方面详细阐述Python爱心代码动态,包括实现基本原理、应用场景、代码示例等。 一、实现基本原理 Python爱心代码动态使用turtle模块实现。在绘制一个心形的基础…

    编程 2025-04-29

发表回复

登录后才能评论