我們的產品是電子書,通過http://www.tipsandtricks-hq.com/的eStore插件爲WordPress提供.epub和.mobi格式的電子書,可生成加密的下載鏈接。通過加密鏈接下載文件時損壞的文件
問題突然開始大約5天前曾經工作罰款約三個月
當客戶通過下載鏈接和Adobe Digital Editions的下載自己購買的所有.epub文件受到損壞時給出了一個錯誤嘗試導入該電子版的圖書館下載,然後裝上點燃時
所有的.mobi文件受到損壞時,點燃給出類似的錯誤
我們試圖關閉谷歌網址縮短服務,錯誤
我們已經測試了IE,Chrome和Firefox的鏈接,錯誤
我們測試不加密鏈接,通過經由直接鏈接下載文件他們做工精細的瀏覽器,沒有錯誤
我們學到的:
我們已經測試使用FTP以ASCII和二進制模式下載...使用ASCII時,我們得到與使用加密下載鏈接相同的錯誤
使用ASCII和Binary後,使用FTP傳輸的文件大小相同,但運行散列檢查顯示的內容是不同
我們使用FileZilla中通過FTP來測試PC和Mac上,然而,錯誤只發生在PC上
所以,我們假設這個問題有做文件傳輸類型和PC
in /home/foo/bar/wp-content/plugins/wp-cart-for-digital-products/download.php我們看到標題(「Content-Transfer-Encoding:binary」);因此,我們認爲使用加密鏈接
時能有可能是在迫使ASCII加密鏈路串一些字符二進制被強制?這裏是加密連接的例子:
https://fu.com/bar/download.php?file=LRtro6WQMN12ip%2BEcL0TYS8sMZmSKOlkRedVCZyfACsqSllzCAjDp%2FZJyfQ2oq0ZP6vg1EMrR%2FOFC4B3wGDHl3N0u0sulcBhIfkOJ0C0UQh6
,這裏是看看http頭:
Status: HTTP/1.1 200 OK
Date: Wed, 27 Feb 2013 14:55:47 GMT
Server: Apache
X-Powered-By: PHP/5.3.17
Set-Cookie: PHPSESSID=7d61c9dd6ecbd321bea8cffg4a25d5e8; path=/
Expires: 0
Cache-Control: public
Pragma: public
X-CF-Powered-By: WP 1.3.9
Content-Description: File Transfer
Content-Disposition: attachment; filename="Some-File-Name-Which-Was-Replaced.epub"
Content-Transfer-Encoding: binary
Content-Length: 5088032
Connection: close
Content-Type: application/epub+zip
別的什麼可能會導致這?我們的服務器是否可以在.htaccess或apache配置設置中強制使用ASCII碼?
非常感謝您使用了錯誤的字符編碼在他的編輯
我們只是試圖尋找損壞的文件VS用二進制編輯器的工作文件,發現裏面是損壞的文件的開頭垃圾數據。 (按照此技巧在這裏:http://stackoverflow.com/questions/4465135/php-file-download-is-always-corrupt-50-of-the-time) – 2013-02-27 21:20:38
我們將二進制文件轉換爲ascii,發現垃圾該文件開頭處的數據爲:ï ° ¿ 哪些是HTML代碼: ?=倒置問號。 °=度數標誌。 ï=拉丁小寫字母i帶分音功能。 現在我們正試圖弄清楚這是從哪裏來的! :) 從eStore插件?從服務器?從Windows(因爲它只發生在Windows上)? – 2013-02-27 21:21:41