python測試開發django-66.圖片403forbidden


前言

用 django 開發 web 頁面,在 HTML 頁面上添加圖片時,發現本地圖片可以正常顯示,但是添加一個互聯網的圖片,卻不能正常顯示。

本地 static 圖片

先在本地 static 放一張圖片yy.png,html 里面 img 標簽設置圖片地址為本地圖片地址:static/yy.png

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<p>本地圖片連接</p>
<img   src="static/yy.png">

</body>
</html>

在瀏覽器是可以正常顯示圖片的

外部圖片

找一個互聯網上的圖片,比如我的公眾號二維碼的圖片地址:https://images2018.cnblogs.com/blog/1070438/201806/1070438-20180601092830072-1349216615.png
在html里面img標簽,把src地址設置成這個互聯網的圖片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">

    <title>Title</title>
</head>
<body>


<p>本地圖片連接</p>
<img   src="static/yy.png">

<p>外部網站圖片</p>
<img width="300" height="300"  src="https://images2018.cnblogs.com/blog/1070438/201806/1070438-20180601092830072-1349216615.png">

</body>
</html>

訪問的時候,發現圖片沒法顯示,返回403 forbidden

解決辦法

關於referrer,說是一種引用策略,可以用來防止圖片或視頻被盜。它的原理是:http 協議中,如果從一個網頁跳到另一個網頁,http 頭字段里面會帶個 Referrer。
圖片服務器通過檢測 Referrer 是否來自規定域名,來進行防盜鏈。如果沒有設置referrer,那就可以直接繞過防盜鏈機制,直接使用或盜取。

no-referrer-when-downgrade的原因就是因為不符合安全策略送了referrer,解決辦法就是在頭部加一行

<meta name="referrer" content="no-referrer" />
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="referrer" content="no-referrer" />
    <title>Title</title>
</head>
<body>

<p>本地圖片連接</p>
<img   src="static/yy.png">

<p>這是一張圖片</p>
<img width="300" height="300"  src="https://images2018.cnblogs.com/blog/1070438/201806/1070438-20180601092830072-1349216615.png">

</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM