有没有一种方法可以从用户输入中获取带有变量的用户输入?
我什至不知道如何形容。
考虑一下。
我想让用户输入一个字符串,并且在该字符串内有一个变量。
user_defined_command_input = "config ap {ap_name} {old_ap_name}"
这个想法是,他们不用我为每个可能的命令生成模板,而是可以使用字符串插值生成命令模板,而不必了解python。这个想法是他们拥有针对数百个设备生成的命令列表,并且可以管理所需命令的模板。
user_defined_command_input = "config ap {new_AP_name} {mac_address} {description}"
要么
user_defined_command_input = "config description {short_description}
由于它们应该能够命名自己的变量,因此我无法对其进行硬编码。我知道注入未经处理的代码存在安全风险。因此,我也想了解这一点。
采用 .format()
user_defined_command = "config ap {ap_name} {old_ap_name}"
user_defined_variables = {"ap_name": "freewifi", "old_ap_name": "wifi"}
command = user_defined_command.format(**user_defined_variables)
# command == "config ap freewifi wifi"
但是永远不要相信用户的输入!始终清理其输入,并使用允许值/字符的白名单。任意命令注入量很大,并且可以抵消您拥有的其他任何安全性。
而且,以我的诚实观点,最好重新考虑实施此方法,因为很难正确地做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句