用 django 開發 web 頁面,在 HTML 頁面上添加圖片時,發現本地圖片能夠正常顯示,可是添加一個互聯網的圖片,卻不能正常顯示。html
先在本地 static 放一張圖片yy.png,html 裏面 img 標籤設置圖片地址爲本地圖片地址:static/yy.pngweb
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p>本地圖片鏈接</p> <img src="static/yy.png"> </body> </html>
在瀏覽器是能夠正常顯示圖片的django
找一個互聯網上的圖片,好比個人公衆號二維碼的圖片地址: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>