BL8. 写一段程序判断IP字符串是否属于内网IP
描述
从业 666 年的 BILIBILI 网络安全工程师 KindMo 最近很困惑,公司有一个业务总是受到 SSRF 攻击。请帮他写一个程序,判断输入的字符串是否属于内网IP,用于防御该漏洞。输入描述
每次输入仅包含一个IP字符串,即一个测试样例输出描述
对于每个测试实例输出整数1或0,1代表True,即输入属于内网IP,0代表False,即输入不属于内网IP或不是IP字符串。示例1
输入:
42.96.146.169
输出:
0
C 解法, 执行用时: 2ms, 内存消耗: 320KB, 提交时间: 2021-09-22
#include <stdio.h> int main() { int a,b,c,d; scanf("%d.%d.%d.%d",&a,&b,&c,&d); if(a==10 ||(a==172 &&(b>=16 && b<32))||(a==192 && b==168)) printf("%d",1); else printf("%d",0); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 364KB, 提交时间: 2020-05-20
#include <stdio.h> int main(){ int a,b,c,d; scanf("%d.%d.%d.%d", &a, &b, &c, &d); if(a==10 || (a==172 && (b>=16 && b<32)) || (a==192 && b==168)) printf("1"); else printf("0"); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2020-09-01
/* 私有IP地址范围: A类:10.0.0.0-10.255.255.255 B类:172.16.0.0-172.31.255.255 C类:192.168.0.0-192.168.255.255 localhost:127.0.0.1 */ #include <stdio.h> int main(){ int a,b,c,d; scanf("%d.%d.%d.%d",&a,&b,&c,&d); //printf("%d %d %d %d\n",a,b,c,d); if(a == 10){ printf("1"); } else if(a == 172 && ( b>=16 && b<=31)){ printf("1"); } else if(a == 192 && b==168){ printf("1"); } else if(a==127){ printf("1"); } else printf("0"); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2020-07-28
#include <stdio.h> int main(){ int a,b,c,d; scanf("%d.%d.%d.%d", &a, &b, &c, &d); if(a==10 || (a==172 && (b>=16 && b<32)) || (a==192 && b==168)) printf("1"); else printf("0"); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 376KB, 提交时间: 2020-05-20
#include <stdio.h> int main(){ int a,b,c,d; scanf("%d.%d.%d.%d", &a, &b, &c, &d); if(a==10 || (a==172 && (b>=16 && b<32)) || (a==192 && b==168)) printf("1"); else printf("0"); return 0; }