2011-03-13 68 views
0

我正在使用以下腳本:http://www.cforcoding.com/2009/05/supercharging-javascript-part-4-caching.html緩存共享服務器上 - 本地緩存目錄的安全問題?

基本上,說明建議不要使用緩存,如果它將用於共享服務器上。

現在我使用的另一個腳本動態地從一個字體文件,並在本地緩存驅動器,我提供的文本,並將其存儲生成GIF圖像。下面是部分代碼:

$hash = md5(basename($font_file) . $font_size . $font_color . 
     $background_color . $transparent_background . $text) ; 
$cache_filename = $cache_folder . '/' . $hash . $extension ; 
if($cache_images && ($file = @fopen($cache_filename,'rb'))) { 
header('Content-type: ' . $mime_type) ; 
while(!feof($file)) 
    print(($buffer = fread($file,$send_buffer_size))) ; 
fclose($file) ; 
exit ; 
} 

所以我的2個問題是:

1)對於我粘貼在這裏的代碼,有沒有安全問題?

2)我可以使用這段代碼,用於緩存與我開始提供的網站URL(http://www.cforcoding.com/2009/05/supercharging-javascript-part-4-caching.html)基本上用這個替換它們的緩存方法,以避免上述的安全問題。或者你推薦一些其他方法?

+0

你怎麼看待安全問題是什麼?文件中有什麼?沒有比共享主機上始終存在的安全問題更多的安全問題。 – 2011-03-13 21:37:32

+0

這些問題和文件的內容列在:http://www.cforcoding.com/2009/05/supercharging-javascript-part-4-caching.html – Adil 2011-03-13 21:47:56

+0

我不認爲作者有一個線索共享主機如何工作。我無法訪問其他主機客戶端網站,並且他們無法訪問我的網站。唯一的問題是如果你使用系統共享目錄。 – 2011-03-13 22:05:27

回答

1

的cforcoding.com指南的作者是擔心共享主機的安全性,因爲他假設cache_dir的將是一個共享目錄如/ tmp。但是,沒有任何理由,你必須使用/ tmp的任意緩存目錄。您可以使用用戶文件夾中的子目錄。所以你的情況,只要$ cache_folder不是/ tmp或其他共享目錄,你會好起來的(如/ home /用戶/ mycache)。

+0

啊!現在完美。謝謝! – Adil 2011-03-15 08:59:01