Django manage.py 文件的声纳云安全热点
Sonar Cloud Security Hotspot for Django manage.py file
Sonar Analysis 在我的 Django 项目的 manage.py 文件中给出了以下安全热点
"Make sure that command line arguments are used safely here"
在下一行
execute_from_command_line(sys.argv)
准确地说是在 argv 上
知道如何解决这个问题吗?
我今天才遇到这个问题,在我查看了很多关于这个的信息和很多帖子之后,我做了一些对我有用的事情:
首先,我将文件开头的 sys 导入更改为导入 argparse。
为了完成更改,我为此更改了 'execute_from_command_line(sys.argv)' 行:
parser = argparse.ArgumentParser()
parser.add_argument('parameters', metavar='N', type=str, nargs='+', help='parameters')
args = parser.parse_args()
command = args.parameters
command.insert(0,'manage.py')
execute_from_command_line(command)
这会生成一个解析器,然后像数组一样获取 args.parameters 中的所有字符串参数,然后我在数组的第一个选项中添加了文件名,即 'manage.py' .
之后这对我有用。
Sonar Analysis 在我的 Django 项目的 manage.py 文件中给出了以下安全热点 "Make sure that command line arguments are used safely here"
在下一行
execute_from_command_line(sys.argv)
准确地说是在 argv 上
知道如何解决这个问题吗?
我今天才遇到这个问题,在我查看了很多关于这个的信息和很多帖子之后,我做了一些对我有用的事情: 首先,我将文件开头的 sys 导入更改为导入 argparse。 为了完成更改,我为此更改了 'execute_from_command_line(sys.argv)' 行:
parser = argparse.ArgumentParser()
parser.add_argument('parameters', metavar='N', type=str, nargs='+', help='parameters')
args = parser.parse_args()
command = args.parameters
command.insert(0,'manage.py')
execute_from_command_line(command)
这会生成一个解析器,然后像数组一样获取 args.parameters 中的所有字符串参数,然后我在数组的第一个选项中添加了文件名,即 'manage.py' . 之后这对我有用。