路由模块: 删除重构后的多余代码
This commit is contained in:
parent
ba83a05138
commit
925c1f68e6
|
@ -24,35 +24,6 @@ void net_init()
|
||||||
printf("数据库连接错误\n");
|
printf("数据库连接错误\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// MySQL 测试
|
|
||||||
int is_blocked_ip(unsigned char *ip)
|
|
||||||
{
|
|
||||||
char sql[1024] = "";
|
|
||||||
sprintf(sql, "select * from ip_fw where ip = '%s'", ip);
|
|
||||||
int rows = result_rows(sql);
|
|
||||||
|
|
||||||
printf("打印 %s\n", sql);
|
|
||||||
printf("rows: %d\n", rows);
|
|
||||||
|
|
||||||
// execlp("iptables", "iptables", "-A", "FORWARD", "-s", ip, "-j", "DROP", NULL); // 将源IP地址加入防火墙
|
|
||||||
execlp("iptables", "iptables", "-D", "FORWARD", "-s", ip, "-j", "DROP", NULL); // 将源IP地址加入防火墙
|
|
||||||
|
|
||||||
// 获取行数
|
|
||||||
if (rows > 0)
|
|
||||||
{
|
|
||||||
printf("IP地址 %s 在黑名单中\n", ip);
|
|
||||||
// execlp("iptables", "iptables", "-A", "FORWARD", "-s", ip, "-j", "DROP", NULL); // 将源IP地址加入防火墙
|
|
||||||
// 从防火墙删除
|
|
||||||
execlp("iptables", "iptables", "-D", "FORWARD", "-s", ip, "-j", "DROP", NULL); // 将源IP地址加入防火墙
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("IP地址 %s 不在黑名单中\n", ip);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void show()
|
void show()
|
||||||
{
|
{
|
||||||
printf("**************************************************\n");
|
printf("**************************************************\n");
|
||||||
|
@ -73,41 +44,6 @@ void show()
|
||||||
printf("**************************************************\n");
|
printf("**************************************************\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断IP地址格式是否正确
|
|
||||||
int is_ip_valid(const char *ip)
|
|
||||||
{
|
|
||||||
regex_t regex; // 正则表达式
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
// 编译正则表达式
|
|
||||||
ret = regcomp(®ex, "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", REG_EXTENDED); // REG_EXTENDED 扩展正则表达式
|
|
||||||
if (ret != 0)
|
|
||||||
{
|
|
||||||
printf("regcomp error\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 执行正则表达式
|
|
||||||
ret = regexec(®ex, ip, 0, NULL, 0);
|
|
||||||
regfree(®ex); // 释放正则表达式
|
|
||||||
|
|
||||||
if (ret == 0)
|
|
||||||
{
|
|
||||||
printf("IP地址格式正确\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else if (ret == REG_NOMATCH)
|
|
||||||
{
|
|
||||||
printf("IP地址格式非法\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("正则表达式匹配错误\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 终端控制菜单
|
// 终端控制菜单
|
||||||
void menu_choice()
|
void menu_choice()
|
||||||
{
|
{
|
||||||
|
@ -235,4 +171,39 @@ void menu_choice()
|
||||||
printf("输入错误,请重新输入\n");
|
printf("输入错误,请重新输入\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断IP地址格式是否正确
|
||||||
|
int is_ip_valid(const char *ip)
|
||||||
|
{
|
||||||
|
regex_t regex; // 正则表达式
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
// 编译正则表达式
|
||||||
|
ret = regcomp(®ex, "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", REG_EXTENDED); // REG_EXTENDED 扩展正则表达式
|
||||||
|
if (ret != 0)
|
||||||
|
{
|
||||||
|
printf("regcomp error\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行正则表达式
|
||||||
|
ret = regexec(®ex, ip, 0, NULL, 0);
|
||||||
|
regfree(®ex); // 释放正则表达式
|
||||||
|
|
||||||
|
if (ret == 0)
|
||||||
|
{
|
||||||
|
printf("IP地址格式正确\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else if (ret == REG_NOMATCH)
|
||||||
|
{
|
||||||
|
printf("IP地址格式非法\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("正则表达式匹配错误\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -24,15 +24,10 @@
|
||||||
// int sockfd; // 原始套接字
|
// int sockfd; // 原始套接字
|
||||||
int ret; // 调用数据库的返回值
|
int ret; // 调用数据库的返回值
|
||||||
char *errmsg; // 错误信息
|
char *errmsg; // 错误信息
|
||||||
char **dbResult;
|
|
||||||
int nrow;
|
|
||||||
int ncolumn;
|
|
||||||
|
|
||||||
void menu_choice();
|
void menu_choice();
|
||||||
void show(void); // 后端控制菜单
|
void show(void); // 后端控制菜单
|
||||||
void net_init(); // 网络初始化
|
void net_init(); // 网络初始化
|
||||||
void *net_task(void *arg); // 网络任务
|
|
||||||
int is_blocked_ip(unsigned char *ip); // 黑名单探测
|
|
||||||
void printResult(MYSQL_ROW row, char (*columns)[30], int cols); // 显示查询结果的回调函数
|
void printResult(MYSQL_ROW row, char (*columns)[30], int cols); // 显示查询结果的回调函数
|
||||||
int is_ip_valid(const char *ip); // 检查ip地址是否合法
|
int is_ip_valid(const char *ip); // 检查ip地址是否合法
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue