2008-05-26, 01:06 AM | #1 |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
|
禁用IP的mysql+php设计
安全,这是很多网页程序设计都要面临的问题。 禁用IP是安全的一部份。下面就分析下禁止IP的php+mysql的程序设计,不足之处,请大家提出意见。 就来个简单的例子来说明一下。 PHP 代码:
注意,这两个字段都是以int类型出现的,为什么呢?因为一个ip是可以转换为一个相对应的十进制数字。数字大小的对比占有很强的优势。 下例输入一个禁止的IP。127.0.0.1 INSERT INTO `banned` (`ip_start`, `ip_end`) VALUES (INET_ATON( '127.0.0.1' ),INET_ATON( '127.0.0.1' )); 如果要禁用一段IP,如192.168.1.1~192.168.255.2255 INSERT INTO `banned` (`ip_start`, `ip_end`) VALUES (INET_ATON( '192.168.1.1' ),INET_ATON( '192.168.255.255' )); 我们可以从数据表中看到,上面插入的记录的 ip_start与ip_end字段值是2130706433。因为mysql的函数INET_ATON将ip转为了数字形式。 现在,禁止一个IP,只要看一下,这个IP是不是在这个数据表里所包函的一条记录。 PHP 代码:
|
|