正在查看开发人员的代码.他在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)
>这在Python应用程序中通常是必需的吗?
>在什么情况下有必要?
>在什么情况下没有必要?
解决方法:
如果用户输入进入数据库,或者其他任何地方可能被执行,那么代码注入可能是个问题.
This问题询问有关在PHP中阻止代码注入的方法,但原理是相同的 – 包含恶意代码的SQL查询被执行,可能会执行删除所有数据的操作.
escape函数转换<,>和&字符转换为html安全序列.
从这两个链接看起来它看起来不像escape()就足够了,但是需要做些什么来阻止恶意代码.当然,这可能会在您的代码中的其他地方得到处理.
标签:python,code-injection,cgi 来源: https://codeday.me/bug/20190729/1570130.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。