Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tmpnam的安全性/替代性如何?_Python_Security_Qt_Pyqt - Fatal编程技术网

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很容易使用,而且做的事情也很正确,所以就使用它吧。