在瀏覽網頁過程中,有時看到一些有用的圖片,我們就會隨手利用右鍵叫出功能選單「另存新檔」,不過有些網站會利用鎖右鍵的功能,讓人只能望圖興嘆。

網站鎖右鍵的手法,通常是利用JavaScript程式改寫瀏覽器預設的右鍵功能,達到限制的目的,表面看起來管用,可讓使用者無法使用右鍵的「另存圖片」,而讓圖片不外流。然而網站如果將防守圖片的工作只靠JavaScript,幾乎可說沒有效用,例如在本機電腦中尋找網站的暫存檔,往往就能看到這些的圖片。

從另一個角度來看,使用者甚至不用去翻找暫存檔,有許多破解的方法,都能輕易繞過鎖右鍵帶來的不便。

FireFox內建解除右鍵封鎖功能
對於FireFox瀏覽器而言,鎖右鍵只是虛招,它的預設功能中,就有突破鎖右鍵的方法。

打開工具列上的「工具」,進入「選項」,點選「內容」這個標籤,會看到當中有個「啟用JavaScript」選項,這便是對付鎖右鍵的功能所在。

由於鎖右鍵本身是JavaScript的語法,因此停用JavaScript,自然可以將它關閉。不過如果只是為了對付右鍵,而將這個勾選取消掉,事實上會將網站所有的JavaScript全部關閉,這樣不免像拿著牛刀殺雞,會將其他有用的JavaScript給錯殺了。

FireFox好用之處就在於可以再「靠近一點」,在「啟用JavaScript」旁邊的「進階」選項裡面,有「停用或取代右鍵選項」,這個選項允許網站停用或設計取代右鍵的功能,將這個預設勾選的取消,鎖右鍵便失去作用。


FireFox瀏覽器提供解除鎖右鍵的功能,只要將紅線框選的選項取消掉,重新載入頁面,就可發現鎖右鍵功能已經失效。


解開JavaScript的封鎖語法
對於另一個瀏覽器陣營-IE的使用者來說,並沒有像Firefox這麼方便的預設功能可以使用,因此網路上流傳二種方法,一個是叫使用者關閉所有JavaScript的功能,另外一個方法是將「安全性層級」調到最高。

這兩個方法都從工具列中的「工具」-「網際網路選項」的「安全性」功能加以進行調整:關閉所有JavaScript的功能必須停用「Active scripting」,另一個則是去調整「安全性層級」。這兩個方式雖然動作不同,但背後的意義相同,因為IE調高安全性層級時,會主動關閉網站的JavaScript功能,這和停用「Active scripting」其實是相同的意義。

不過這一樣是拿牛刀殺雞,並不是最合適的做法。由於IE沒有現成的方法可用,但是我們知道鎖右鍵事實上就是利用JavaScript語法,將oncontextmenu這屬性的回傳值設為false或是取代為別的回應,因此只要再重寫oncontextmenu這個屬性值,就能恢復預設功能。下面提供重寫的語法:

javascript: (function(){ var keepRightKeyAlive = document.getElementsByTagName('body')[0];keepRightKeyAlive.setAttribute('oncontextmenu','');})();

將上述語法輸入在網址列中,按下Enter鍵,它宣告並執行一個JavaScript函式,這個函式利用keepRightKeyAlive這個變數取得網頁文件這個物件,然後將oncontextmenu的屬性設為空值,這樣一來就會回歸瀏覽器的預設值,因此不管之前網站對oncontextmenu作了什麼設定,都會被取消掉。文⊙黃天賜

iThome歡迎讀者提問,請將你所遇到的各種企業IT疑難雜症,寄至iThome編輯部:QA@mail.ithome.com.tw

熱門新聞

Advertisement