tmpnam有多不安全/替代?

Geo*_*lly 1 python security qt pyqt

我考虑tmpnam用来设置a的输出文件名QPrinter.但Python文档建议不要使用它.

os.tmpnam()

返回适合创建临时文件的唯一路径名....应用程序负责正确创建和管理使用tmpnam()返回的路径创建的文件; 没有提供自动清理.

警告

使用tmpnam()容易受到符号链接攻击; 考虑使用tmpfile()(文件对象创建部分).

Windows系统:微软的落实tmpnam()始终会在当前驱动器的根目录的名称,这通常是一个临时文件位置不佳(根据权限,您可能甚至无法打开使用该名称的文件).

  • 如果我的应用程序不需要任何特殊权限,这真的不安全吗?
  • 考虑到我只能将路径设置为输出文件名,那么什么是安全的替代方案QPrinter