在Web服务器上安全地保存电子邮件附件

时间:2012-10-29 22:13:29

标签: php mysql email phpmailer attachment

我正在构建一个使用PHPMailer发送电子邮件的Web应用程序,我已经围绕PHPMailer构建了一个包装类来记录发送的电子邮件。我尚未弄清楚的一个部分是如何安全地保存附件。我不想将文件内容读入MySQL数据库中的字段,因为这样做效率不高。我不想将它们存储在Web服务器上的文件夹中,因为可以从Web浏览器访问它(服务器没有public_html文件夹,因此我无法将它们粘贴到文件夹中那是不可访问的)。

存储电子邮件附件的最佳/正确方法是什么,以便除了通过我的应用程序之外无法阅读?

2 个答案:

答案 0 :(得分:1)

您可以将这些附件保存为加密文件,但我不明白为什么mysql解决方案会有缺陷。除此之外,获得一个合适的服务器,你有私人目录等。

答案 1 :(得分:0)

这实际上取决于你想对这些文件做些什么。

如果您存储在公共Web目录中,则可以在其中放置.htaccess文件(假设您使用的是apache),以阻止对这些文件的Web访问。

您可以将其存储在公共网络文件夹下的文件夹中。

例如,大多数服务器都有这样的东西

/www/website.com/httpdocs

其中httpdocs是公共文件夹。

您需要做的就是将它们存储在

/www/website.com/privatedocs

因此无法通过网络访问

另一种选择是,如果您只是想审核发送的电子邮件,请将其转发到另一个电子邮件帐户,例如audit@website.com

如果您需要检查任何内容,请查看该电子邮件帐户。但是,与在本地服务器上扫描导向器上的文件相比,这将难以以编程方式进行检查。