什么是最简单的创建和解决方案?用PHP保护电子表格?

时间:2014-04-29 09:43:23

标签: php excel csv zip

我需要为包含敏感信息并通过电子邮件过夜的第三方创建每日报告。

更简单:在PHP中创建保护xs和密码的xls和密码,或者创建csv或xls并压缩保护它的文件和密码?

理想情况下,一个excel类会负责创建和安全吗?

如果有人能指出我正确的方向,我真的很感激。

2 个答案:

答案 0 :(得分:0)

我不建议通过电子邮件发送敏感信息。我认为您最好通过电子邮件发送链接(https),让用户单击带到要求输入密码的登录页面的链接。如果用户验证正确,该页面可以动态生成XLS。

一旦有了这个文件,Excel密码就可以被利用了。另一个故事是尝试利用安全的PHP登录。

https://www.google.com/search?q=recover+Excel+file+password&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=sb

动态生成XLS可能意味着,要么转储一个经过调整的文件(将其保留在文档根目录之外,因此无法通过www访问)或更好,请立即读取昨天的报告数据并将其作为单元格转储出去。此时,您可以选择使用CSV或Excel。

为了生成Excel文件(动态或保存在磁盘上),您可以使用优秀的PHPExcel https://phpexcel.codeplex.com/

要让用户下载文件,您必须在任何PHP输出之前设置正确的标题:

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=REPORT.XLS');

然后输出(回显)文件内容(从磁盘读取或动态生成)并退出。在PHPExcel中下载Excel5文档,您将:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

答案 1 :(得分:0)

如果这两个选项都不是sensitive information

您生成的文件必须无法从网络访问,并且只能由PHP端的完整身份验证服务器提供。 您不能通过电子邮件发送文件导致其已经存在危险,只需向用户提供服务器上文件下载服务的链接即可。