[发明专利]一种基于Python Flask及装饰器的处理浏览器请求的方法及装置在审
申请号: | 201811069244.X | 申请日: | 2018-09-13 |
公开(公告)号: | CN109347914A | 公开(公告)日: | 2019-02-15 |
发明(设计)人: | 周广跃 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F8/30 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王汝银 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 装饰器 校验 服务器 浏览器请求 网页请求 动态增加 恶意信息 工作效率 函数判断 人力成本 冗余代码 未知信息 信息泄露 攻击 应用 | ||
本发明提供了一种基于PythonFlask及装饰器的处理网页请求的方法,创新将Python装饰器应用于浏览器请求判断校验中,利用装饰器函数对视图函数进行装饰,动态增加视图函数判断校验的功能,实现了判断校验的简洁高效,而且本发明还提供了一种基于PythonFlask及装饰器的处理网页请求的装置,不仅可以避免因为恶意信息以及未知信息发向服务器时,服务器不能正确处理,造成服务器被攻击,信息泄露的严重问题,而且可以减少因为校验判断的大量冗余代码,节省人力成本,而且提高了工作效率。
技术领域
本发明涉及处理浏览器请求的方法及装置,尤其是涉及一种基于PythonFlask及装饰器的处理浏览器安全请求的方法及装置。
背景技术
Http Referrer(消息来路)是Http Request(请求)消息的header (头文件)的一部分,浏览器系统对应的每一步操作,在后端都是一个视图函数,当浏览器向web服务器发送请求的时候,请求中携带referrer(网站来路,消息来源)信息,用于告诉服务器该消息是从哪个页面链接过来的,服务器从此可以获取一些有用信息。现在浏览器(Web)产品大多存在着安全漏洞问题,当恶意信息以及未知信息发向服务器时,服务器不能正确处理,造成服务器被攻击,信息泄露等严重问题,现有技术中处理浏览器请求一般都会用到判断校验,但是当浏览器多次发送请求时,就会造成大量判断代码的冗余,增加了人力成本,降低了工作效率。
发明内容
本发明为了解决处理浏览器安全请求现有技术中存在的问题,创新将图Python装饰器(一种高级python语法,可以对一个函数方法和类进行加工,从而给函数方法动态地增加某些功能,装饰器的优点是能够抽离出大量函数中与函数本身功能无关的代码并且继续使用,即简洁高效地给函数添加功能)应用于浏览器请求判断校验中,利用装饰器函数对视图函数进行装饰,动态增加视图函数判断校验的功能,不仅可以避免因为恶意信息以及未知信息发向服务器时,服务器不能正确处理,造成服务器被攻击,信息泄露的严重问题,而且可以减少因为校验判断的大量冗余代码,节省人力成本,而且提高了工作效率。
本发明第一方面提供了一种基于Python Flask及装饰器的处理浏览器请求的方法,包括:
浏览器向服务器发送请求;
服务器通过从Flask(一个使用Python语言编写的轻量级Web 应用框架)的框架获取浏览器发送的请求,服务器的视图函数与所述浏览器发送的请求相对应,调用函数request从请求中获取referrer 信息;
通过字符串切片的方法获取referrer信息中的第一host(包含IP 地址和主机名的映射关系)信息;
编写装饰器函数,判断referrer信息是否存在,并对referrer信息中的第一host信息与配置文件中的第二host信息进行校验,如果校验一致,则正常响应请求,校验不一致,则阻止响应请求,返回页面,将判断校验过程封装在装饰器函数中;
定义请求次数为N,N为正整数,并对当前请求次数N是否为1 进行判定;当请求次数N=1时,用装饰器函数装饰视图函数,利用经过装饰器函数装饰的视图函数执行判断校验;当请求次数N>1时,直接调用装饰器函数,被装饰器函数装饰的视图函数执行判断校验校验。
结合第一方面,在第一方面第一种可能的实现方式中,所述服务器通过从Flask的框架获取浏览器发来的请求具体是:服务器的视图函数根据前端路由与后端路由的对应关系获取浏览器发送的请求。
结合第一方面,在第一方面第二种可能的实现方式中,所述通过字符串切片的方法获取referrer信息中的第一host信息具体是:将字符串进行切片处理,获取referrer中路由链接双斜杠分隔符以后、单斜杠分隔符之前的内容,即为第一host信息。
结合第一方面,在第一方面第三种可能的实现方式中,所述编写装饰器函数具体是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811069244.X/2.html,转载请声明来源钻瓜专利网。