上传实现防火墙添加删除代码
This commit is contained in:
parent
afc1b2e97e
commit
a6a46d9b19
|
@ -0,0 +1,84 @@
|
|||
#include <cjson/cJSON.h>
|
||||
#include <mysql/mysql.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int main() {
|
||||
MYSQL *conn;
|
||||
MYSQL_RES *res;
|
||||
MYSQL_ROW row;
|
||||
|
||||
conn = mysql_init(NULL);
|
||||
if (conn == NULL) {
|
||||
fprintf(stderr, "mysql_init() failed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (mysql_real_connect(conn, "localhost", "root", "root", "router", 3306,
|
||||
NULL, 0) == NULL) {
|
||||
fprintf(stderr, "mysql_real_connect() failed\n");
|
||||
mysql_close(conn);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// 获取前端传递的JSON数据
|
||||
char request_data[128] = "";
|
||||
fgets(request_data, 128, stdin);
|
||||
|
||||
// 解析JSON数据
|
||||
cJSON *p = cJSON_Parse(request_data);
|
||||
cJSON *code = cJSON_GetObjectItemCaseSensitive(p, "code");
|
||||
cJSON *ip = cJSON_GetObjectItemCaseSensitive(p, "ip");
|
||||
|
||||
if (!cJSON_IsNumber(code) || !cJSON_IsString(ip)) {
|
||||
fprintf(stderr, "Error getting code or IP address from JSON data\n");
|
||||
cJSON_Delete(p);
|
||||
mysql_close(conn);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int operation_code = code->valueint;
|
||||
char *ip_address = ip->valuestring;
|
||||
|
||||
if (operation_code == 0) {
|
||||
// 插入IP地址到数据库
|
||||
char query[1000];
|
||||
sprintf(query, "INSERT INTO ip_fw (ip) VALUES ('%s')", ip_address);
|
||||
|
||||
if (mysql_query(conn, query)) {
|
||||
fprintf(stderr, "INSERT query failed. Error: %s\n",
|
||||
mysql_error(conn));
|
||||
cJSON_Delete(p);
|
||||
mysql_close(conn);
|
||||
exit(1);
|
||||
}
|
||||
} else if (operation_code == 1) {
|
||||
// 从数据库中删除指定IP地址
|
||||
char query[1000];
|
||||
sprintf(query, "DELETE FROM ip_fw WHERE ip='%s'", ip_address);
|
||||
|
||||
if (mysql_query(conn, query)) {
|
||||
fprintf(stderr, "DELETE query failed. Error: %s\n",
|
||||
mysql_error(conn));
|
||||
cJSON_Delete(p);
|
||||
mysql_close(conn);
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Invalid operation code\n");
|
||||
cJSON_Delete(p);
|
||||
mysql_close(conn);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
cJSON_Delete(p);
|
||||
|
||||
printf("Content-Type: application/json;charset=utf-8\r\n");
|
||||
printf("\r\n");
|
||||
printf("{\"status\": \"success\"}");
|
||||
|
||||
mysql_close(conn);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue