上传文件并发送至电子邮件

时间:2013-04-09 20:09:44

标签: php email-attachments

这可能是一个愚蠢的问题但我只是想知道我是否有一个表格允许用户上传最多3个图像文件并将这些图像通过电子邮件发送给外部服务器。问题是,如果我只检查扩展名以确保它是我想要的文件类型而不检查实际的文件类型将是我的服务器的任何安全问题?我知道上传文件必须先将文件临时保存到我的服务器。任何帮助将不胜感激。 THX。

1 个答案:

答案 0 :(得分:0)

文件扩展名绝对不是文件类型的可靠指标 - 任何文件类型都可以使用任何扩展名命名。像libmagic之类的东西可以帮助您更好地确定文件类型,如果这是您想要做的。

也就是说,只要您的服务器不执行任何发送给它的文件,并且仅作为邮件程序,我就不会发现用户上传恶意文件会带来任何风险,至少不会对服务器本身造成危害。服务器配置的其他方面可能会使服务器上的可执行文件存在问题,但邮件本身并不是特别危险。

当然,设置允许某人从Web发送邮件的任何应用程序都需要一定级别的授权安全性,以避免将您的应用程序用作垃圾邮件机制。如果只是将邮件发送给自己,那么你就是唯一一个会收到垃圾邮件的邮件,但它仍然可能很烦人。