0
有沒有什麼辦法可以設置僅供會員訪問的圖庫? 我可以設置php登錄和所有。 但我想要安全地處理圖像。任何擁有圖片網址的人都應該無法訪問該圖片,直到未以會員身份登錄。防止圖像直接訪問
有沒有什麼辦法可以設置僅供會員訪問的圖庫? 我可以設置php登錄和所有。 但我想要安全地處理圖像。任何擁有圖片網址的人都應該無法訪問該圖片,直到未以會員身份登錄。防止圖像直接訪問
您可以使用類似的東西:
將圖像放在公衆無法訪問的位置。
像圖像使用代碼:
<img src="/imageproxy.php?image=<?=$imagename?>" />
而一個imageproxy.php文件:
$image = filter_input(INPUT_GET,"image");
$imageWithPath = "/path/to/images/".$image
if (/* is authenticated */ && is_readable($imageWithPath) && /* user can access $image*/) {
header("Content-Type: ".mime_content_type($imageWithPath));
$handle = fopen($imageWithPath,"r");
fpassthru($handle);
fclose($handle);
exit;
} else {
http_response_code(403);
exit;
}
這是因爲以這種方式,您可以加載圖像,而不是異步使用Base64圖像替代預加載它們。
爲了防止直接訪問圖像,你可以設置會話,如果會話設置
<?php
session_start();
if(isset($_SESSION['username']) && !empty($_SESSION['username']))
{
echo "<img src='imgname.png' />";
}
?>
你需要在PHP腳本來查看您的圖片,有些事情是這樣的答案顯示的東西http://stackoverflow.com/a/13602453/2359679 – hassan
可能重複[如何顯示圖像從數據庫在PHP?](http://stackoverflow.com/questions/13602259/how-to-display-images-from-database-in-php) – orvi