The invention provides a method of processing web page requests based on Python Flask and decorator. The Python decorator is innovatively applied to browser request judgment verification. The view function is decorated by the decorator function, and the function of judgment verification of view function is dynamically increased. The method realizes the simplicity and efficiency of judgment verification. The invention also provides a Python Flask and decoration based on Python Flask. The device that handles web page requests can not only avoid the serious problem of server being attacked and information leaking when malicious information and unknown information are sent to the server, but also reduce a large number of redundant codes due to verification judgment, save manpower cost and improve work efficiency.
【技术实现步骤摘要】
一种基于PythonFlask及装饰器的处理浏览器请求的方法及装置
本专利技术涉及处理浏览器请求的方法及装置,尤其是涉及一种基于PythonFlask及装饰器的处理浏览器安全请求的方法及装置。
技术介绍
HttpReferrer(消息来路)是HttpRequest(请求)消息的header(头文件)的一部分,浏览器系统对应的每一步操作,在后端都是一个视图函数,当浏览器向web服务器发送请求的时候,请求中携带referrer(网站来路,消息来源)信息,用于告诉服务器该消息是从哪个页面链接过来的,服务器从此可以获取一些有用信息。现在浏览器(Web)产品大多存在着安全漏洞问题,当恶意信息以及未知信息发向服务器时,服务器不能正确处理,造成服务器被攻击,信息泄露等严重问题,现有技术中处理浏览器请求一般都会用到判断校验,但是当浏览器多次发送请求时,就会造成大量判断代码的冗余,增加了人力成本,降低了工作效率。
技术实现思路
本专利技术为了解决处理浏览器安全请求现有技术中存在的问题,创新将图Python装饰器(一种高级python语法,可以对一个函数方法和类进行加工,从而给函数方法动态地增加某些功能,装饰器的优点是能够抽离出大量函数中与函数本身功能无关的代码并且继续使用,即简洁高效地给函数添加功能)应用于浏览器请求判断校验中,利用装饰器函数对视图函数进行装饰,动态增加视图函数判断校验的功能,不仅可以避免因为恶意信息以及未知信息发向服务器时,服务器不能正确处理,造成服务器被攻击,信息泄露的严重问题,而且可以减少因为校验判断的大量冗余代码,节省人力成本,而且提高了工作效率。本专利 ...
【技术保护点】
1.一种基于Python Flask及装饰器的处理浏览器请求的方法,其特征是,包括:浏览器向服务器发送请求;服务器通过从Flask的框架获取浏览器发送的请求,服务器的视图函数与所述浏览器发送的请求相对应,调用函数request从请求中获取referrer信息;通过字符串切片的方法获取referrer信息中的第一host信息;编写装饰器函数,判断referrer信息是否存在,并对referrer信息中的第一host信息与配置文件中的第二host信息进行校验,如果校验一致,则正常响应请求,校验不一致,则阻止响应请求,返回页面,将判断校验过程封装在装饰器函数中;定义请求次数为N,N为正整数,并对当前请求次数N是否为1进行判定;当请求次数N=1时,用装饰器函数装饰视图函数,利用经过装饰器函数装饰的视图函数执行判断校验;当请求次数N>1时,直接调用装饰器函数,被装饰器函数装饰的视图函数执行判断校验校验。
【技术特征摘要】
1.一种基于PythonFlask及装饰器的处理浏览器请求的方法,其特征是,包括:浏览器向服务器发送请求;服务器通过从Flask的框架获取浏览器发送的请求,服务器的视图函数与所述浏览器发送的请求相对应,调用函数request从请求中获取referrer信息;通过字符串切片的方法获取referrer信息中的第一host信息;编写装饰器函数,判断referrer信息是否存在,并对referrer信息中的第一host信息与配置文件中的第二host信息进行校验,如果校验一致,则正常响应请求,校验不一致,则阻止响应请求,返回页面,将判断校验过程封装在装饰器函数中;定义请求次数为N,N为正整数,并对当前请求次数N是否为1进行判定;当请求次数N=1时,用装饰器函数装饰视图函数,利用经过装饰器函数装饰的视图函数执行判断校验;当请求次数N>1时,直接调用装饰器函数,被装饰器函数装饰的视图函数执行判断校验校验。2.根据权利要求1所述的基于PythonFlask及装饰器的处理浏览器请求的方法,其特征是,所述服务器通过从Flask的框架获取浏览器发来的请求具体是:服务器的视图函数根据前端路由与后端路由的对应关系获取浏览器发送的请求。3.根据权利要求1所述的基于PythonFlask及装饰器的处理浏览器请求的方法,其特征是,所述通过字符串切片的方法获取referrer信息中的第一host信息具体是:将字符串进行切片处理,获取referrer中路由链接双斜杠分隔符以后、单斜杠分隔符之前的内容,即为第一host信息。4.根据权利要求1所述的基于PythonFlask及装饰器的处理浏览器请求的方法,其特征是,所述编写装饰器函数具体是:定义装饰器函数,把视图函数对象作为输入参数传入;设置内置warps装饰器;定义装饰器内函数;执行判断校验过程。5.一种基于Pyt...
【专利技术属性】
技术研发人员:周广跃,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。