2012-10-29 67 views
0

我正在構建一個使用PHPMailer發送電子郵件的Web應用程序,並且我已經圍繞PHPMailer構建了一個包裝類來記錄正在發送的電子郵件。我尚未弄清楚的一部分是如何安全地保存附件。我不想將文件內容讀入MySQL數據庫中的字段,因爲這樣效率不高。我不想將它們存儲在Web服務器上的文件夾中,因爲可以從Web瀏覽器訪問它(服務器沒有public_html文件夾,因此我無法將它們粘貼到無法訪問的文件夾中) 。在Web服務器上安全地保存電子郵件附件

什麼是最好的/正確的方式來存儲電子郵件附件,以便通過我的應用程序不能讀取它們?

回答

0

這真的取決於你想要做什麼與這些文件。

如果你存儲在公共Web目錄中,你可以在那裏放一個.htaccess文件(假設你使用的是Apache)來阻止對這些文件的Web訪問。

您可以將其存儲在公共Web文件夾下的文件夾中。

如大多數服務器有這樣的事情

/www/website.com/httpdocs 

其中的httpdocs是公共文件夾。

所有你需要做的就是將它們存儲在

/www/website.com/privatedocs 

,使他們無法訪問網絡

另一種選擇是,如果你只是希望審覈的郵件,是BCC到另一個電子郵件帳戶,如[email protected]

然後,只要看看那個電子郵件帳戶,如果你需要檢查任何東西。然而,與爲本地服務器上的文件掃描導演相比,這很難以編程方式進行檢查。

+0

服務器沒有httpdocs目錄,所有的文件都是公共的,所以我不能使用這個選項(它會讓它更容易)。 – mightymouse3062

1

您可以將這些附件保存爲加密文件,但我不明白爲什麼mysql解決方案會有缺陷。除此之外,得到一個適當的服務器,你有私人目錄等

+0

儘管我很樂意得到一個合適的服務器,但那個調用卻在我之上。我堅持我擁有的東西。你將如何加密文件? – mightymouse3062

+0

好的時候給你一個2年的遲到答案,但如果其他人看到這個問題,你可能會想用AES來加密這個文件。 AES將對文件中的所有數據進行加擾並使其幾乎不可能被反轉。 AES是一種分組密碼,這意味着您將指定一個密鑰,然後在需要時使用該密鑰對文件進行加密和解密。我喜歡其他答案,這可能會更好,但我也是那些總是喜歡密碼學答案的密碼學怪才之一。 – SpencerD

相關問題