前言
最近做到一题python代码审计的题目,但是总觉得有点力不从心,大概是掌握的还不够扎实,故决定整理一下遇到的一语法知识
语法基础
路由
所谓路由,**就是处理请求URL和函数之间关系的程序
**
Flask中也是对URL规则进行统一管理的,创建URL规则有两种方式:
1.使用@app.route修饰器,并传入URL规则作为参数,将函数绑定到URL,这个过程便将一个函数注册为路由,这个函数则被称为视图函数。
2.使用app.add_url_rule()。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| @app.route("/geneSign", methods=['GET', 'POST']) def geneSign(): param = urllib.unquote(request.args.get("param", "")) action = "scan" #这里进行和秘钥的拼接后md5的加密传回值 return getSign(action, param)
@app.route('/De1ta',methods=['GET','POST']) def challenge(): action = urllib.unquote(request.cookies.get("action")) param = urllib.unquote(request.args.get("param", "")) #这里是从cookie传回sign sign = urllib.unquote(request.cookies.get("sign")) ip = request.remote_addr #有个waf if(waf(param)): return "No Hacker!!!!" task = Task(action, param, sign, ip) return json.dumps(task.Exec()) @app.route('/')
|
这段代码意味着这个网址有三个页面一个是/geneSign 一个是/De1ta 另一个就是/根目录,每一个路由都是一个新的起点