TL; DR 这真的很危险。除非必须,否则不要这样做。
如果我是你,我会从威胁分析开始。在您的系统上保留这些身份证图像有哪些可能的安全隐患?会出什么问题?你在防御什么?
坏人可能会侵入您的系统并大量窃取它们,然后将它们卖给身份窃贼。
与 1 相同,但它们也会窃取表格信息并将其与您的图像相关联。
有人可能会滥用或滥用系统的一项功能来查看一张或几张图像,并滥用他们由此获得的信息。
有人可能会通过向您提供被盗或伪造的身份证对您进行欺诈。
如果您正在处理付款,您的系统可能无法通过 PCI 审核,并且您会被毫不客气地拒绝您的付款处理访问权限。
在构建系统以尝试保护这些非常敏感的图像时,您需要弄清楚要防御哪些威胁。您还需要弄清楚谁可以查看此信息,您如何验证这些授权用户,以及您保留此信息的时间。
理想情况下,您根本不会收集这些信息。
如果您确实收集了它,请从第一天开始使用 https://。
如果你必须收集它,你的下一个最佳选择是立即检查它,然后安全地擦除它,这样你就不会为小偷建造一个很棒的蜜罐。
如果您必须保留它,您的下一个最佳选择是立即将其移动到气隙存储介质中,并将其从您的在线系统中删除。例如,您可以每隔几天刻录一张 CD-ROM,并将它们的存档保存在文件柜中。
如果您必须在线保留这些信息,那么您肯定希望编写将其存储到 Web 根目录以外的文件系统的 Web 程序。当有人想看一张图片时,你绝对不想简单地展示一个图片网址,比如
https://honeypot.com/imgs/idcards/user2573551.png
并从目录中提供文件。相反,您需要一些不将用户 ID 作为显式用户 ID 参数的软件。也就是说,您可能会提供一个类似的 URL
https://honeypot.com/myId.php
您可能还想阅读称为“nonce”的安全令牌,它可以抑制各种跨站点或保存的 URL 攻击。WordPress 恰好有一个很好的随机数系统,您可以从中学习。
小心点,嗯?