2014-09-24 131 views
4

我想使用PyPDF2,但首先要確保它可以安全使用。我無法找到任何文件。我想用它來確保上傳的文件是有效的PDF文件。用戶被驗證,但我擔心他們仍然能夠在不知不覺中上傳不安全的東西。 PyPDF2有什麼方法可以告訴,即使它是PDF,它是不安全的?打開不安全文件時,PyPDF2是否採取任何安全措施?

來源: https://github.com/mstamy2/PyPDF2

文檔: https://pythonhosted.org/PyPDF2/

+2

如果您確定了您擔心的安全風險,可能會有幫助。看起來大多數PDF安全風險來自於渲染過程中執行代碼。 (http://security.stackexchange.com/a/31551/46979和http://security.stackexchange.com/a/31552/46979是相關的。提到的JavaScript的屬性也適用於Python。)PyPDF2似乎只是簡單的成爲PDF *解析器*和生成器。我懷疑它實際上是呈現內容(因此不會執行代碼)。 – jpmc26 2014-09-24 19:16:54

+0

PyPDF2可能會將一部分文件評估爲python或以其他方式執行它的內容嗎? – northben 2014-09-24 21:08:20

回答

0

有沒有什麼辦法,PyPDF2將能夠訴說,哪怕是一個 PDF,它是不安全的?

不,因爲PyPDF2不包含任何安全掃描功能。任何對您的系統有害的內容可能會或可能不會通過PyPDF,並依然會對您的系統造成危險,這取決於您採取了哪些其他預防措施。

由於jpmc26表示PyPDF只是一個解析器/生成器,因此PDF的內容不太可能構成PyPDF本身的安全線程。

0

如果您擔心pdf的有效性,如果您嘗試使用PyPDF2操作PDF而不是有效的PDF,那麼它可能會返回錯誤。至於檢查pdf的內容,庫本身不會這樣做,但是您可以編寫方法來檢查特定模式的內容,分析流並查找其他方法來自行檢查它。開始的最好方法是自己創建一個無效的PDF,並找出你想要查找的東西。它也有一些密碼驗證,但我真的沒有處理圖書館的那部分。如果您可以學習如何有效地使用它,PyPDF2是一個非常強大的工具!