2016-08-12 45 views
-1

我想禁用我的網頁源代碼並檢查元素欄。我用這個腳本做了。但是如果我在我的url之前寫了" view-source: ",源代碼將會顯示出來。我怎樣才能解決這個問題?有沒有可能隱藏源代碼?好的答案必須讚賞如何隱藏源代碼並通過javascript或jquery檢查元素?

<script> 

    document.onkeydown = function(e) { 
    if(e.keyCode == 123) { 
    return false; 
    } 
    if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)){ 
    return false; 
    } 
    if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)){ 
    return false; 
    } 
    if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)){ 
    return false; 
    } 

    if(e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)){ 
    return false; 
    }  
} 

</script> 
+0

簡單,你不能阻止別人看你的頁面的源代碼內容 –

+0

嘗試使用已完成的文件 – Ayan

+0

您可以禁用js,然後您的所有努力工作將會消失 – guradio

回答

3

有沒有辦法隱藏JS代碼。 JS腳本在你的瀏覽器中運行。所以瀏覽器必須知道JS腳本。如果瀏覽器知道它,用戶可以看看它們。您只能嘗試壓縮它們,以避免用戶輕鬆閱讀。

使用https://jscompress.com/,如果你有,你不應該對很多像製作人的原因不希望當他們發現自己的瀏覽器選項,以重新訪問該網站的靜態JS腳本

+0

還有http://jsbeautifier.org抵消 – Jasen

+0

是的,這是可能的。這不是加密,它只是一個壓縮,以減少流量。副作用是難以閱讀。 :-) – Marcus

+0

另一種使用非常短的函數名和變量名的方法。但它只會讓人們難以閱讀(您的頁面訪問者和您) – Marcus

1

有沒有辦法隱藏源代碼&檢查元素,但所有你能做的就是disable的使用鼠標按鈕的right click

function disableclick(event){ 
      if(event.button==2){ // this value is 3 for some othe browser 
      // Rest of code 
     return false;  
     } 
    } 
document.body.onclick = disableclick() 

還沒有,你需要禁用,因爲按F12開放F12關鍵開發者控制檯,其實是繞過右鍵點擊事件

+0

我們可以阻止右鍵單擊和特殊的按鍵事件,但用戶可以隨時訪問瀏覽器設置並打開開發人員工具。 – Mihir

+0

是的,我禁用右鍵單擊和f12使用我寫的頂級腳本。 –

1

你不能限制視圖源,但任何你可以把javscript和css壓縮文件的方式。從HTML從HTML內嵌屬性 不要綁定事件的內嵌屬性

不要綁定事件,例如

<button id="btn_callme" onclick="callme(this)"> Call Me</button> 

,而不是這個你可以在JavaScript代碼綁定事件。

<button id="btn_callme"> Call Me</button> 

$(document).on('click', '#callme', function(){ 
     // write code here  
}) 

結合常見的JavaScript文件合併爲一個

如果使用多個JavaScript作爲您可以在一個文件中結合其常見的JavaScript,然後再縮小它,它會做出一些更快的執行。

壓縮/縮小JavaScript

對於Javascript代碼的安全性,你可以從在線工具壓縮它像http://javascriptcompressor.com/

壓縮/壓縮CSS代碼

對於CSS代碼,你可以安全壓縮它從https://csscompressor.net/

不允許從控制檯執行腳本

我想建議一個關於控制檯的安全性,如果要防止從console.log執行javascript代碼,您可以使用下面的代碼。在這裏,我已經在body標籤中使用了debug_mode類以允許從控制檯執行。

(function() { 
    if (!$('body').hasClass('debug_mode')) { 
     var _z = console; 
     Object.defineProperty(window, "console", { 
      get: function() { 
       if ((window && window._z && window._z._commandLineAPI) || {}) { 
        throw "Nice trick! but not permitted!"; 
       } 
       return _z; 
      }, 
      set: function (val) { 
       _z = val; 
      } 
     }); 
    } 
})(); 
+0

我已經添加了一些更多的安全技巧 –

+0

哇爲什麼要阻止'console.log'?這不會避免從開發工具控制檯執行代碼,它只會阻止「控制檯」。log'方法,這在開發工具控制檯中並不是很有用,因爲任何返回的值已經被記錄(不使用'console.log') – Kaiido

+0

@Kaiido,我同意你的看法,但是如果想嚴格限制安全性在客戶端不允許console.log,那麼它將幫助你.. –

1

您無法隱藏您的源代碼。

以下是查看源代碼的不同選項。

  • 右鍵單擊並檢查元素或按CTRL + SHIFT + I

  • 右鍵點擊並查看頁面源代碼或按Ctrl + U

  • 最後前往chrome菜單導航到更多工具 - >開發人員工具

  • 另一種選擇是使用螢火蟲Extensio訪問代碼ñ。

+0

好友。前兩個選項不會工作 –

+0

是的,你可以通過你的javascript代碼來阻止它。第三個和第四個選項呢。 – cheralathan

+0

螢火蟲不會工作。讓我檢查與鉻開發工具 –

1

試試這個代碼放在body

oncontextmenu="return false;" onkeydown="return false;" onmousedown="return false;" 

代碼,會是這樣

<body oncontextmenu="return false;" onkeydown="return false;" onmousedown="return false;"></body> 
相關問題