我需要为包含敏感信息并通过电子邮件过夜的第三方创建每日报告。
更简单:在PHP中创建保护xs和密码的xls和密码,或者创建csv或xls并压缩保护它的文件和密码?
理想情况下,一个excel类会负责创建和安全吗?
如果有人能指出我正确的方向,我真的很感激。
答案 0 :(得分:0)
我不建议通过电子邮件发送敏感信息。我认为您最好通过电子邮件发送链接(https),让用户单击带到要求输入密码的登录页面的链接。如果用户验证正确,该页面可以动态生成XLS。
一旦有了这个文件,Excel密码就可以被利用了。另一个故事是尝试利用安全的PHP登录。
动态生成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端的完整身份验证服务器提供。 您不能通过电子邮件发送文件导致其已经存在危险,只需向用户提供服务器上文件下载服务的链接即可。