仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 995|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:限制IP会见的思绪和PHP代码

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-3 23:56:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。会见   那天写本人的网站,想到要有关于限制IP的功效,最少要包含可以在后台设置要限制的IP,还有,可以对IP段停止限制,好比 192.168.0.* 一样的就可以够限制全部段,冥思苦想,用了好几个if判别才处理,把复杂的代码以下:(法式中利用了phplib中的db类)

<?php
/*********************************************
* 文件:limitip.php
* 用处:IP限制法式
* 版本:v1.0
* 日期:2005-1-7 12:34
* 作者:heiyeluren (heiyeluren@163.com)
* 版权:http://www.unixsky.net
*********************************************/
error_reporting(7);
session_start();
// 发送字符头信息
if ($headercharset)
header("Content-Type:text/html; charset=gb2312");
// 加载公共文件
require_once("config.php");
require_once("global.php");
require_once("db_mysql.php");
/***************** 停止客户端可否会见本网站校验 ************/
// 获得客户端IP
if(getenv('HTTP_CLIENT_IP')) {
$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$client_ip = getenv('REMOTE_ADDR');
} else {
$client_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
// 分化客户端IP
$cip = explode(".", $client_ip);
// 毗连数据库
$db = new DB_Sql();
$err = $db->connect();
/*  限制近程IP会见, PS: 这段代码真晕,呵呵,用了8个if, -_-#  */
// 从数据库中提取存储的要限制的IP地址
$query_str = "SELECT limit_ip FROM us_limitip";
$db->query($query_str);
// 把了局轮回提取,一个个停止校验
while ($db->next_record())
{
$limit_ip = $db->f("limit_ip");
$lip = explode(".", $limit_ip);
// 假如限制IP的第一个是*或是0的话就跳到毛病页
if (($lip[0]=='*') || ($lip[0]=='0'))
  header("Location:../error.php?errid=300");
// 假如恰好客户端IP等于咱们限制IP就跳到毛病页
if ($client_ip==$limit_ip)
  header("Location:../error.php?errid=300");
// 假如第一组IP分歧停止第二组IP的婚配
if ($cip[0] == $lip[0])
{
  // 假如第二组限制IP是*就跳到毛病页
  if ($lip[1]=='*')
   header("Location:../error.php?errid=300");
  // 第二组IP婚配就停止第三组IP婚配
  if ($cip[1]==$lip[1])
  {
   // 假如第三组限制字符是*就跳到毛病页
   if ($lip[2]=='*')
    header("Location:../error.php?errid=300");
   // 假如第三组IP婚配就跳到第三组校验
   if ($cip[2]==$lip[2])
   {
    // 假如第四组限制IP是*或0就跳到毛病页
    if (($lip[3]=='*') || ($lip[3]=='0'))
     header("Location:../error.php?errid=300");
   }
  }
}  
}
// 释放数据库查询了局
$db->free();
/****************** IP校验停止 ******************/
?>

代码只是我初步的一个设法,一定有缺乏,假如高手有更好建议请不惜赐教!
培训的第三阶段,开始接触MYSQL,设计数据库,学习PHP如何去连接MYSQL数据库。对于MYSQL,我并不陌生,因为学校开设了Linux系统的课程,对于数据库的操作。
蒙在股里 该用户已被删除
沙发
发表于 2015-2-6 13:07:30 | 只看该作者
实践是检验自己会不会的真理。
小妖女 该用户已被删除
板凳
发表于 2015-2-16 05:25:38 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
小魔女 该用户已被删除
地板
发表于 2015-3-1 21:42:22 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
不帅 该用户已被删除
5#
发表于 2015-3-1 23:12:39 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
若相依 该用户已被删除
6#
发表于 2015-3-7 08:53:47 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
深爱那片海 该用户已被删除
7#
发表于 2015-3-14 15:42:36 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-21 11:33:41 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
谁可相欹 该用户已被删除
9#
发表于 2015-3-25 06:25:29 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
再见西城 该用户已被删除
10#
发表于 2015-4-4 10:20:30 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
小女巫 该用户已被删除
11#
发表于 2015-4-9 04:13:37 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
第二个灵魂 该用户已被删除
12#
发表于 2015-4-16 15:10:45 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
兰色精灵 该用户已被删除
13#
发表于 2015-4-26 05:11:56 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
灵魂腐蚀 该用户已被删除
14#
发表于 2015-5-4 02:34:04 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
愤怒的大鸟 该用户已被删除
15#
发表于 2015-5-9 17:45:20 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
16#
 楼主| 发表于 2015-6-12 23:21:40 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
简单生活 该用户已被删除
17#
发表于 2015-6-14 22:14:56 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
admin 该用户已被删除
18#
发表于 2015-6-21 20:31:41 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
冷月葬花魂 该用户已被删除
19#
发表于 2015-6-23 02:24:04 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
只想知道 该用户已被删除
20#
发表于 2015-6-30 21:08:08 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 16:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表