根据用户输入的字符串创建带有用户定义变量的字符串

詹姆士

有没有一种方法可以从用户输入中获取带有变量的用户输入?

我什至不知道如何形容。

考虑一下。

我想让用户输入一个字符串,并且在该字符串内有一个变量。

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章