簡單實現防盜鏈功能
主要思路:
1.在中間件中設置process_request
2.利用http_referer來判斷請求連接是否是本域名或ip地址發來的
class ReferMiddle(MiddlewareMixin): def process_request(self, request): # 從request中取出meta meta = request.META print(meta.get('HTTP_REFERER')) print(meta) # 判斷meta中的HTTP_REFERERkey是否有值,沒有就繼續允許訪問 if not meta.get('HTTP_REFERER'): return None else: # 判斷referer中的域名或ip地址是否是本服務器的,是就允許訪問 http_referer = meta.get('HTTP_REFERER').split(":") print(http_referer[1]) if http_referer[1] == "//192.168.3.118": return None # 不是就返回error頁面 else: return render(request,"error.html")