文件位置絕不會通過客戶端腳本(HTML/CSS/JavaScript的),因爲他們從來沒有「服務」的服務器設。客戶端只能訪問服務器所在文件夾(www目錄和其他別名目錄)內的文件。但是,SERVER SIDE SCRIPT可以訪問主機中的文件。這就是爲什麼像PHP這樣的服務器端腳本語言可以從主機中的任何位置輸出圖像的原因。即
header('Content-type: image/jpeg');
readfile("d:/1.jpg");
exit();
或
header('Content-type: image/jpeg');
// IF YOUR PHP FILE IS "D:/program files/wamp/www/index.php"
readfile("../../../1.jpg");
exit();
你可以,但是,這樣做:
<?Php
if(strtoupper($_SERVER['REQUEST_METHOD']) == 'GET'
&& isset($_GET['image']) && isset($_GET['drive']))
{ header('Content-type: image/jpeg');
readfile("{$_GET['drive']}:{$_GET['image']}");
// THIS WILL HAVE THE FOLLOWING VALUE ONCE CALLED:
// readfile("d:/path/to/my/file/myfile.jpg");
exit();
}
<html>
<img src="{$_SERVER['PHP_SELF']}?drive=d&image=/path/to/my/file/myfile.jpg">
or simply:
<img src="?drive=d&image=/path/to/my/file/myfile.jpg">
</html>
?>
這是從來沒有建議,除非你知道你在做什麼,雖然,因爲它會暴露你的系統。
如果您打算這樣做,請確保檢查文件類型,控制$ _GET的字符串內容,監控訪問的目錄並收緊每個安全漏洞。
來源
2015-10-05 09:16:55
RRB
看這裏:http://superuser.com/questions/244245/how-do-i-get-apache-to-follow-symlinks – h0ch5tr4355
我會盡力謝謝! – depecheSoul
權限怎麼樣?是apache用戶可讀的圖像嗎? – jossif