在用户提供的HTML上运行服务器端时,wkhtmltopdf是否足够安全以防止滥用,如果是,我需要哪些参数?
我发现了如何禁止本地文件访问,但我也希望至少阻止对localhost的网络访问,并且通常使它与现代浏览器一样安全。是吗?
我实际上并不打算在用户提供的HTML上运行wkhtmltopdf,而是在服务器生成的HTML上运行。我担心wkhtmltopdf的存在会使任何HTML注入漏洞比其他情况更严重。理想情况下,我希望保护wkhtmltopdf,好像我期待任意用户输入一样。
答案 0 :(得分:1)
答案似乎是“这样做不够安全”。
在this discussion中,有人建议你应该在沙箱中运行它并过滤/清理提供的HTML。
作者没有提到需要什么样的HTML过滤。我能想到的一个可能的安全问题是,wkhtmltopdf可以从服务器的Intranet访问内容,该内容通常不能从外部访问并在PDF中公开。如果您使用--disable-javascript
禁用Javascript,并使用--disable-local-file-access
禁用本地文件访问,则仍可以使用iframe公开此类内容,或使用内联CSS或img.src提供图像。