[英]Serving images with PHP very slow
我允許網站用戶上傳圖像,然后使用PHP腳本提供圖像。 但是,這明顯比靜態鏈接慢。
之所以使用PHP來提供圖像,是因為我試圖阻止人們訪問存儲圖像的文件夾。
我應該使用.htaccess文件嗎? 我也在考慮httpd中的ALIAS,但不確定如何使用它還是根本不適合-我可以使用此引用根外部的文件夾嗎?
任何幫助將非常感激。
謝謝
header("Content-type: " . filetype($file) . "\\n"); header("Content-Disposition: inline; filename=\\"{$image}\\"\\n"); header("Content-Length: ".(string)(filesize($file))); @readfile($file);
使用Directory
標記內的Options -Indexes
禁用索引。 但是,您應該走得更遠。
為了安全和文件系統的整體衛生,應將資產(圖像等)保存在與代碼分開的目錄中。
然后,您可以將其添加到您的apache配置中:
<Directory /directory/where/assets/are>
Order Allow,Deny
Allow from all
Options None
AllowOverride None
<IfModule mod_php5.c>
RemoveHandler .php
RemoveType .php
php_flag engine off
</IfModule>
</Directory>
這將禁止在資產目錄中以腳本的形式執行任何文件,並禁用文件列表,但允許任何人下載這些文件。 以這種方式用用戶上傳的文件保護目錄很重要,因為它們可能會上傳惡意的php腳本,然后您就可以托管它們。
單行使用.htaccess文件:
IndexIgnore *
然后,用戶可以訪問該文件夾,但看不到其中的任何內容。
或者,添加一個名為index.html
的文件,但將其保留為空白(或包含“您可能無法查看此頁面”消息)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.