1

我有一个 python Web 应用程序,它接受来自 URL 的 PDF 文件的 http URL。作为应用程序的一部分,它需要使用 ghost 脚本将 PDF 转换为 TIFF 图像。为此,需要将 PDF 保存在本地。所以要做到这一点,我这样使用urllib

testfile = urllib.URLopener()
pdf_destination = os.path.join(self.options.storefolder, self.options.uniquecode+".pdf")
testfile.retrieve(pdfurl, pdf_destination) //Fortify vuln. found here

这可以正常工作,但是,Fortify SCA 提供了“路径操纵”的严重漏洞。有没有办法解决这个问题?我应该确保它pdfurl包含一个有效的 pdf 文件名吗?还是有更好的方法来解决这个问题?

4

1 回答 1

1

Ghostscript 不需要本地保存的文件,它可以接受通过标准输入传输的数据。然后它会创建文件的本地临时副本(因为 PDF 文件需要随机访问),但我认为这是可以接受的。

当然,这仍然给你留下了通过标准输入将 PDf 文件传送到 Ghostscript 的问题,我不知道你会怎么做。

于 2017-07-01T09:51:41.933 回答