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

在需要禁止访问或提交表单的页面添加下面的代码进行判断就可以了。

注意:下边只是一个PHP限制IP的实例代码,如果您打算应用到CMS中,请自行修改。

<?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==‘192.168.1.88‘){
header("location:http://t.qq.com/wb631992791");//被禁止后跳转到微博
exit;
}
//限制ip段
$ip_arr = explode(‘.‘, $userip);
#限制的ip段,假设是192.168.*.*
if (!(($ip_arr[0] == ‘192‘ && $ip_arr[1]==‘168‘) )){
header("location:http://t.qq.com/wb631992791");//被禁止后跳转到微博
exit;
}else{
header("location:http://afish.cnblogs.com");//正常IP则直接访问小鱼阁首页
exit;
}
?> 

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

时间: 2024-11-03 20:45:12

php中限制ip段访问、禁止ip提交表单的代码的相关文章

JQuery禁止回车提交表单

//禁止回车键提交表单——动态绑定 $(function(){ $("input").on('keypress',  //所有input标签回车无效,当然,可以根据需求自定义 function(e){ var key = window.event ? e.keyCode : e.which; if(key.toString() == "13"){ return false; } } ); });

Struts2 token禁止重复提交表单

如果服务器响应慢的情况下,用户会重复提交多个表单,这时候有两种设计思想: 1.在客户端使用JS技术,禁止客户重复提交表单.但是这样会使一些不使用浏览器方式登陆的人比如使用底层通信来攻击你的服务器 2.在服务器端进行验证 Struts2设计了token标签来进行验证,在使用token时要注意,你点击两次之后,它会回到"invalid.tonken"那个页面,这时如果你使用回退的方式或者F5方式再次提交,会被拦截 使用token的方法: 1.在需要使用验证的的form标签里面,加入<

js 禁止回车提交表单

//禁止按回车提交 $(document).ready(function(){ $("input[@type='text']").each( function(){ $(this).keypress( function(e) { var key = window.event ? e.keyCode : e.which; if(key.toString() == "13"){ return false; } }); }); })

php中禁止单个ip与ip段访问的代码小结

1.禁止单个IP <?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

iptables中规则的关系——以只允许某些IP段访问为例

最近遇到一个问题:服务器被全球的IP频繁试图通过ssh登录. 于是想到通过iptables防火墙限制访问,达到:仅允许指定ip段访问ssh服务(22端口). 关于iptables添加规则的文章有很多,而鲜有介绍规则之间的顺序.因此希望通过这篇文章介绍iptables多条规则之间是如何协同工作的. 注:作者并没有在此投入很多时间调研,因而以下仅仅是个人理解,有错误之处希望不吝指出. 假设希望仅仅允许 111.111.0.0/16 IP段ssh登录,而禁止其他所有ip登录. 最简单的命令是: ipt

tftp 限制ip 限制ip段 或者多个ip段访问

1 限制单个ip访问 tftp 配置tftp信息 vi /etc/xinetd.d/tftp 在 service tftp配置信息中添加  only_form =ip 重启 service xinetd restart 则只有 单个ip 的机器能访问此ftp服务 2 限制一个ip段访问 tftp 配置tftp信息 vi /etc/xinetd.d/tftp 在 service tftp配置信息中添加  only_form = ip段(例如 100.2.29.0/24) 重启 service xi

JavaScript遍历IP段内所有IP

思路:将两个IP转换为数字进行比较,小的那个慢慢加一,直到变成大的那个IP所转换的数字,将这其中的数字再转换为IP地址即为IP段内所有的IP. 1 //IP转数字 2 function ip2int(ip) 3 { 4 var num = 0; 5 ip = ip.split("."); 6 num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(i

React中禁止chrome填充表单

总结:在react中浏览器只会在第一次初始化dom树时将默认的用户名和密码渲染上(只有当页面中存在密码框时才会进行,所以react有如下解决方法) 当 input 的 type="password" 时,chrome浏览器会以 type="password" 为标识记住输入的用户名和密码, 如果chrome用户选择记住密码,chrome会把输入过的用户名.密码填充到表单中: 在React中,以下2中方法都不能解决问题: 1.在表单前增加2个input并隐藏 <

利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)

在很多企业级应用中,我们都没法直接通过开发语言sdk包封装的http工具来模拟http复合表单(multipart/form-data),特别是在跨语言跨平台的编程过程中,其实实现方案并不复杂,只要你了解了http协议中复合表单的报文结构就很简单了: httpheader ------时间戳------ 表单参数1 ------时间戳------ 表单参数2 ------时间戳------ 文件1的描述+二进制信息 ------时间戳------ 文件2的描述+二进制信息 下面我们进一步以一段c