在Python中对用户提供的字符串运行.format()是否安全



场景:最终用户(不受信任(提供一个字符串,如"Hello, {name}!"。在服务器上,我想以my_string.format(name="Homer")的形式对用户提供的字符串进行字符串替换。使用Python中的字符串格式化可以做很多事情,所以我想知道在不受信任的字符串上运行format()方法是否是一个安全问题。是否可以提供一个字符串值,当使用Python的字符串替换时,该值将改变字符串内容本身之外的数据?

字符串格式化是安全的,不会产生副作用。它不会改变字符串之外的任何内容。

它仍然可能是一个安全问题,这取决于你以后对该字符串的处理。最明显的例子是对SQL语句使用字符串格式;这太不安全了。

相关内容

  • 没有找到相关文章

最新更新