是";cgi.escape“;Python应用程序中是否需要?

是";cgi.escape“;Python应用程序中是否需要?,python,cgi,code-injection,Python,Cgi,Code Injection,正在查看开发人员的代码。他做了我在Python应用程序中从未见过的事情。他的背景是PHP,正在学习python,所以我不知道这是否是他使用的不同系统架构的遗留问题 他告诉我,这段代码的目的是防止用户通过插入代码来攻击应用程序。我很确定这对于我们的用例来说是不必要的,因为我们从来没有将数据作为代码进行评估,但我只是想确定并询问社区 # Import library from cgi import escape # Get information that the client submitted

正在查看开发人员的代码。他做了我在Python应用程序中从未见过的事情。他的背景是PHP,正在学习python,所以我不知道这是否是他使用的不同系统架构的遗留问题

他告诉我,这段代码的目的是防止用户通过插入代码来攻击应用程序。我很确定这对于我们的用例来说是不必要的,因为我们从来没有将数据作为代码进行评估,但我只是想确定并询问社区

# Import library
from cgi import escape

# Get information that the client submitted
fname   = GET_request.get('fname',   [''] )[0]

# Make sure client did not submit malicious code <- IS THIS NECESSARY?
if fname:
    fname = escape(fname)
#导入库
从cgi导入转义
#获取客户端提交的信息
fname=GET_request.GET('fname',[''])[0]

#确保客户端没有提交恶意代码如果用户输入要进入数据库,或者可能在其他任何地方执行,那么代码注入可能是一个问题

问题是关于如何防止php中的代码注入,但原理是一样的——包含恶意代码的SQL查询会被执行,可能会执行删除所有数据之类的操作

该函数将和字符转换为html安全序列


从这两个链接来看,escape()本身似乎还不够,但确实需要采取一些措施来阻止恶意代码。当然,这可能会在代码的其他地方得到处理。

那么,您在用它做什么?潜在的漏洞利用在很大程度上取决于此。我们正在获取它,然后将其存储在PostgreSQL数据库中