我们原来的业务中,有很多地方需要解析用户IP的信息,刚开始是通过新浪.百度这些第三方的接口来解析IP信息,后来发现调用这些接口频繁时会被禁用一小段时间.不得已只得将数据存到我们的数据库中,表结构大致如下图,大家一看应该就明白那些字段的意思. 查询得SQL大致是:SELECT * FROM IPInfo WHERE IPIntStart<=IP地址转int AND IPIntEnd>IP地址转int,共45万条数据,加上索引查询效率还可以,能满足日常业务查询. 最近有一个数据清洗的任务,需要在日
//TCP and UDP can bind to the same IP & port. #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include &
一.背景 为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单.对于黑名单之内的 IP ,拒绝提供服务. 二.架构 实现 IP 黑名单的功能有很多途径: 1.在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求: 2.在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者 lua 插件 配置 IP 黑名单: 3.在应用层面,在请求服务之前检查一遍客户端 IP 是否在黑名单. 为了方便管理和共享,我们通过 Nginx+Lua+Red
openresty开发系列38--通过Lua+Redis 实现动态封禁IP 一)需求背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单.对于黑名单之内的 IP ,拒绝提供服务. 二)设计方案实现 IP 黑名单的功能有很多途径:1.在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求:2.在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者 lua 插件 配置 IP 黑名单:3.在应用层面,在请求服务之前检查一遍客户端 IP