题目描述
从业 666 年的 BILIBILI 网络安全工程师 KindMo 最近很困惑,公司有一个业务总是受到 SSRF 攻击。请帮他写一个程序,判断输入的字符串是否属于内网IP,用于防御该漏洞。
我们知道常见的内网IP有,127.0.0.1,192.168.0.1 等。
我们知道常见的内网IP有,127.0.0.1,192.168.0.1 等。
输入描述:
每次输入仅包含一个IP字符串,即一个测试样例
输出描述:
对于每个测试实例输出整数1或0,1代表True,即输入属于内网IP,0代表False,即输入不属于内网IP或不是IP字符串。
示例1
输入
42.96.146.169
输出
0
第一道编程复健题,目前我会的语言有C++、JAVA、Python和Javascript,虽然不打算用Js做编程题,但是都可以顺手练一下。看了Python版本的答案真的很简洁!!爱了!
Python:
if input()[:3] in ('127','192','10.','172'): print(1) else: print(0)
C++:
#include<iostream> using namespace std; int main(){ int ip[4]; scanf("%d.%d.%d.%d",&ip[0],&ip[1],&ip[2],&ip[3]); if( ip[0] == 127 || (ip[0] == 192 && ip[1] == 168) || ip[0] == 10 || (ip[0] == 172 && ip[1] >= 16 && ip[1]<=32 ) ) printf("1"); else printf("0"); }
0 条评论