Python tmpnam的安全性/替代性如何?
我考虑使用Python tmpnam的安全性/替代性如何?,python,security,qt,pyqt,Python,Security,Qt,Pyqt,我考虑使用tmpnam设置QPrinter的输出文件名。但是Python文档建议不要使用它 os.tmpnam() 返回一个唯一的路径名,该名称对于创建临时路径是合理的 文件申请者负责 正确创建和管理 使用返回的路径创建的文件 tmpnam();不需要自动清理 提供 警告 使用tmpnam()易受符号链接攻击;考虑使用 tmpfile()(节文件对象 (创造)取而代之 Windows:微软的 始终执行tmpnam() 在根目录中创建名称 当前驱动器的 一般来说,临时工的工作地点不好 文件(根据权
tmpnam
设置QPrinter
的输出文件名。但是Python文档建议不要使用它
os.tmpnam()
返回一个唯一的路径名,该名称对于创建临时路径是合理的
文件申请者负责
正确创建和管理
使用返回的路径创建的文件
tmpnam();不需要自动清理
提供
警告
使用tmpnam()易受符号链接攻击;考虑使用
tmpfile()(节文件对象
(创造)取而代之
Windows:微软的
始终执行tmpnam()
在根目录中创建名称
当前驱动器的
一般来说,临时工的工作地点不好
文件(根据权限,您可以
甚至无法使用打开文件
这个名字)
- 如果我的应用程序不需要任何特权,这真的不安全吗
- 考虑到我只能将路径设置为
的输出文件名,有哪些安全的替代方案QPrinter
使用该选项。根据QPrinter处理已存在文件的方式,您可以使用QTemporaryFile创建文件,然后关闭该文件并保留对QTemporaryFile对象的引用,直到完成该操作。(这也将在销毁对象时为您清理文件。)根据QPrinter处理已存在文件的方式,您可以使用QTemporaryFile创建文件,然后关闭该文件并保留对QTemporaryFile对象的引用,直到您完成操作。(这也将在您销毁对象时为您清理文件。)谢谢。如果我使用
NamedTemporaryFile
获取一个名称并将其提供给QPrinter
,我认为这不会造成很大的安全风险。我不确定您的想法tempfile
具有最安全的临时文件。它实际上不需要假设;这就是所谓的。还有什么问题吗?你需要澄清吗?谢谢。如果我使用NamedTemporaryFile
获取一个名称并将其提供给QPrinter
,我认为这不会造成很大的安全风险。我不确定您的想法tempfile
具有最安全的临时文件。它实际上不需要假设;这就是所谓的。还有什么问题吗?你需要澄清吗?安全取决于环境。在敌对环境中,这可能意味着其他人可以访问QPrinter创建的数据。正如您在这里看到的,在Windows上,这可能意味着您无法获得可写的tmpnam。因为tempfile很容易使用,而且做的事情也很正确,所以就使用它吧。安全性取决于环境。在敌对环境中,这可能意味着其他人可以访问QPrinter创建的数据。正如您在这里看到的,在Windows上,这可能意味着您无法获得可写的tmpnam。因为tempfile很容易使用,而且做的事情也很正确,所以就使用它吧。