知識點總結 防盜煉基礎與實現

2021-10-14 11:12:55 字數 1373 閱讀 1883

在學習防盜煉的時候,理解起來並不是很難,作用呢,也算是清晰,在專案中可以看到防盜煉對網頁的保護,但是自己用到機會確是較少,技術中若是模稜兩可則表明並不是真正的會,所以寫一篇文章算是總結與加深。

盜鏈:

字面意思就可以理解 盜取鏈結、盜取資源;

防盜煉:

就是為了防止這種盜取的發生,從而對我們的網路資源形成的一種訪問保護;

資源盜鏈:

就是不法**,通過在其自身**程式裡未經過許可非法呼叫其他**的資源,然後在自己的**上顯示這些呼叫的資源,達到了填充自身**顯示的效果,但是浪費了呼叫資源**的網路流量,造成其他**的頻寬及服務壓力吃緊,甚至宕機。

referer:訪問**,參照頁,引用頁

是header的一部分,當瀏覽器向web伺服器傳送請求的時候,一般會帶上referer,告訴伺服器該網頁是從哪個頁面鏈結過來的,伺服器因此可以獲得一些資訊用於處理。

盜鏈原理:

當我們瀏覽乙個網頁時,並不是一次請求就會把整個頁面的內容傳到本地瀏覽器,尤其是當這個頁面帶有或者其它資源。第一次請求會傳回該頁面的html文字,瀏覽器解析該文字發現還有,會傳送第二次請求,請求獲得。盜鏈問題是:如果乙個**沒有頁面中所說的資源,它就會把這個鏈結到別的**,這樣沒有任何資源的**利用了別的**的資源來展示給瀏覽者,提高了自己的訪問量,而大部分瀏覽者又不會很容易地發現,這樣顯然,對於那個被利用了資源的**是不公平的。一些不良**為了不增加成本而擴充自己站點內容,經常盜用其他**的鏈結。一方面損害了原**的合法利益,另一方面又加重了伺服器的負擔。

防盜煉原理:

http標準協議中有專門的字段記錄referer

一來可以追溯上乙個入站位址是什麼

二來對於資源檔案,可以跟蹤到包含顯示他的網頁位址是什麼

因此所有防盜煉方法都是基於這個referer欄位

無論什麼專案中, 都會用到防盜煉技術, 在我看來, 防盜煉就是對鏈結、訪問位址的乙個最基本的保護, 讓訪問者不能在沒有經過允許的情況下直接進入我們的專案,訪問我們的資源, 所以沒有防盜煉的**是不合格的,這是基本的認知,最重要的安全基礎。

那麼防盜煉的防盜功能是怎麼實現的呢?

方法1:判斷引用位址

判斷引用位址,就是判斷瀏覽器請求時http頭的referer欄位的值,這個值在asp.net裡面可以用 request.urlreferrer屬性取得。**程式收到請求時判斷是不是在自己的網域名稱中傳來,如果不是,則判斷為非法訪問。

還有幾種, 了解不深,暫不贅述…

Redis設計與實現知識點總結 事件

redis伺服器是乙個事件驅動程式,其中包含了兩種型別事件。檔案事件,說白了就是接受客戶端發來的命令然後執行返回結果給客戶端 時間事件,定時觸發的一些事件比如定時持久化,定時刪除過期時間的鍵 檔案事件 redis伺服器使用io多路復用的機制來接受客戶端連線。由於客戶端命令一般都是短資料,短時間連線,...

知識點總結

1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...

知識點總結

oncreate onstrat onresume onpause onstop onrestart ondestroy standard 啟動activity都會產生乙個新的activity 預設模式 singletop 啟動activity允許多個,但不允許重疊 singletask 只允許有乙...