使用者工具

網站工具


mysql:inet_aton

INET_ATON

利用 MySQL 內建函式將 IP 轉換成 int,範圍是 0 ~ 4294967295。

建立 table

CODE:
[Copy to clipboard]
CREATE TABLE `banned` (
  `ip_start` int(10) NOT NULL default '0',
  `ip_end` int(10) NOT NULL default '0',
) TYPE=MyISAM COMMENT='禁止IP列表';

禁用一段IP,如 192.168.1.1 ~ 192.168.255.255

INSERT INTO `banned` (`ip_start`, `ip_end`) 
VALUES (INET_ATON( '192.168.1.1' ),INET_ATON( '192.168.255.255' ));

查詢 IP 是否被禁用:

$ip = '192.168.123.45';
$sql = "SELECT count(*) FROM `banned` WHERE ip_start >=INET_ATON('$ip') and ip_end <= INET_ATON('$ip') ";
$result =  mysql_query($sql);
$banned = mysql_fetch_array($result);
echo $banned[0] ? "禁止IP" : "通行IP" ;
mysql/inet_aton.txt · 上一次變更: 2007/11/16 22:01 由 wenpei