簡體   English   中英

用PHP提供圖片非常慢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM