簡體   English   中英

如何從視圖代碼/檢查元素瀏覽器中隱藏表單代碼?

[英]How to hide form code from view code/inspect element browser?

我想從視圖代碼/檢查元素瀏覽器中隱藏表單代碼,我該怎么做?

這是我的代碼,請看下面:

<div style=" text-align: center;  padding: 300px; font-family: lato; ">
     Please wait redirect page ......<br>
    <img src="http://maps.nrel.gov/sites/all/modules/custom_modules/hydra/assets/images/loading_bar.gif" border="0">
</div>


<form name="f1" action="payments.php" method="post">
<input type="hidden" name="id_crad" value="...">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="amount" value="12.99">
</form>


<script type="text/javascript">
setTimeout(function(){f1.submit();}, 3000);
</script>

請看圖片

在此處輸入圖片說明

你根本做不到。

代碼檢查器專為調試 HTML 和 JavaScript 而設計。 它們通過顯示網頁的實時 DOM 對象來實現。 這意味着它會顯示您在頁面上看到的所有內容的 HTML 代碼,即使它們是由 JavaScript 生成的。 一些檢查員甚至在 Iframe 中顯示代碼。

一些禁用鍵盤/鼠標交互的 JavaScript 怎么樣...

有一些 JavaScript 技巧可以禁用頁面上的某些鍵盤、鼠標交互。 有解決這些技巧的方法。 例如,您可以使用瀏覽器頂部菜單毫無問題地啟用 DOM 檢查器。

試試論文:

它們不受 JavaScript 的控制。

大圖

想一想:

  1. 網頁上的所有內容是由瀏覽器渲染的,所以他們是一個較低的抽象級別比你的JavaScript。 他們“守衛着所有的門,掌握着所有的鑰匙”。
  2. 瀏覽器希望網站在它們上正常工作,否則它們的用戶會鄙視它們。
  3. 因此,瀏覽器希望使用代碼檢查器等工具向 Web 開發人員公開所有內容的較低級別的滴答聲。

基本上,瀏覽器是 JavaScript 的上帝。 他們希望通過代碼檢查員授予 Web 開發人員超能力。 即使您的技巧能奏效一段時間,瀏覽器也希望在將來撤消它。

你在與上帝開戰,你注定要失敗。

結論

說得簡單,如果你不希望人們得到他們的瀏覽器的東西,你永遠不應該發給他們的瀏覽器擺在首位。

有一種聰明的方法可以禁用您網站中的檢查元素。 只需在腳本標簽中添加以下代碼片段:

$(document).bind("contextmenu",function(e) {
 e.preventDefault();
});

請查看此博客

功能鍵 F12 直接從瀏覽器中獲取檢查元素,我們也可以禁用它,使用以下代碼:

$(document).keydown(function(e){
    if(e.which === 123){
       return false;
    }
});

您可以添加此腳本以在用戶檢查時出錯:D

試試這個代碼

 <script type="text/javascript"> eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c])}}return p}('(3(){(3 a(){8{(3 b(2){7((\\'\\'+(2/2)).6!==1||2%5===0){(3(){}).9(\\'4\\')()}c{4}b(++2)})(0)}d(e){g(a,f)}})()})();',17,17,'||i|function|debugger|20|length|if|try|constructor|||else|catch||5000|setTimeout'.split('|'),0,{})) </script>

來自http://www.bloggerku.com/2017/08/memasang-anti-inspect.html

您可以使用此代碼 -

阻止右鍵單擊 -

<body oncontextmenu="return false;">

塊鍵 - 您應該在 body 標簽的上部使用它。 (在 head 標簽中使用)

<script>

    document.onkeydown = function (e) {
        if (event.keyCode == 123) {
            return false;
        }
        if (e.ctrlKey && e.shiftKey && (e.keyCode == 'I'.charCodeAt(0) || e.keyCode == 'i'.charCodeAt(0))) {
            return false;
        }
        if (e.ctrlKey && e.shiftKey && (e.keyCode == 'C'.charCodeAt(0) || e.keyCode == 'c'.charCodeAt(0))) {
            return false;
        }
        if (e.ctrlKey && e.shiftKey && (e.keyCode == 'J'.charCodeAt(0) || e.keyCode == 'j'.charCodeAt(0))) {
            return false;
        }
        if (e.ctrlKey && (e.keyCode == 'U'.charCodeAt(0) || e.keyCode == 'u'.charCodeAt(0))) {
            return false;
        }
        if (e.ctrlKey && (e.keyCode == 'S'.charCodeAt(0) || e.keyCode == 's'.charCodeAt(0))) {
            return false;
        }
    }
</script>

此代碼在調試器打開時從 dom 中刪除元素的內部 html(在 Chrome 和 IE 中測試)

var currentInnerHtml;
var element = new Image();
var elementWithHiddenContent = document.querySelector("#element-to-hide");
var innerHtml = elementWithHiddenContent.innerHTML;

element.__defineGetter__("id", function() {
    currentInnerHtml = "";
});

setInterval(function() {
    currentInnerHtml = innerHtml;
    console.log(element);
    console.clear();
    elementWithHiddenContent.innerHTML = currentInnerHtml;
}, 1000);

這里#element-to-hide是你想隱藏的元素的id。 這是一個黑客,但我希望它可以幫助你。

雖然我認為沒有辦法完全做到這一點,但您可以采取一些措施來阻止幾乎所有人查看 HTML。

您可以首先嘗試通過執行以下操作來停止檢查菜單:

<body oncontextmenu="return false" onkeydown="return false;" onmousedown="return false;">

我還建議使用Jonas提供的使用他的 javascript 的方法,並將您不希望人們看到的內容放在id="element-to-hide"和他給定的 js 腳本的div 中,以進一步阻止人們進行檢查。

我很確定要克服這一點非常困難。 但是有人可以輸入view-source:www.exapmle.com ,這將向他們顯示源。 因此,您可能想要加密 HTML(我建議使用為您提供擴展安全選項的網站)。 有很多免費的好網站(例如: http : //www.smartgb.com/free_encrypthtml.php )並使用擴展的安全性,您通常無法通過 HTML 非加密器解密。

這基本上會加密你的 HTML,所以如果你使用我上面展示的方法查看源代碼,你只會得到加密的 HTML(如果你使用擴展的安全選項,這也很難解密)。 但是您可以通過檢查查看未加密的 HTML 但我們已經阻止了(在非常合理的程度上)

好吧,你不能完全隱藏 HTML,但你可以在阻止人們看到它方面做得非常好。(如果你考慮一下,大多數人並不關心查看頁面的 HTML,有些人甚至不知道關於檢查和查看源代碼的人可能不會被打擾或無法克服這些影響!所以可能沒有人會看到你的 HTML)

(希望這可以幫助!)

下面的 JavaScript 代碼對我有用以禁用檢查元素。

// Disable inspect element
$(document).bind("contextmenu",function(e) {
 e.preventDefault();
});
$(document).keydown(function(e){
    if(e.which === 123){
       return false;
    }
});

雖然我認為沒有辦法完全做到這一點,但您可以采取一些措施來阻止幾乎所有人查看 HTML。

您可以首先嘗試通過執行以下操作來停止檢查菜單:

我還建議使用 Jonas 提供的使用他的 javascript 的方法,並將您不希望人們看到的內容放在 id="element-to-hide" 和他給定的 js 腳本的 div 中,以進一步阻止人們進行檢查。

我很確定要克服這一點非常困難。 但是有人可以輸入 view-source

這基本上會加密你的 HTML,所以如果你使用我上面展示的方法查看源代碼,你只會得到加密的 HTML(如果你使用擴展的安全選項,這也很難解密)。 但是您可以通過檢查查看未加密的 HTML 但我們已經阻止了(在非常合理的程度上)

您可以使用以下標簽

<body oncontextmenu="return false"><!-- your page body hear--></body>

或者您可以在右鍵單擊時創建自己的菜單:

https://github.com/swisnl/jQuery-contextMenu

您無法阻止用戶查看我們的代碼,但您可以通過禁用某些鍵來避免它

簡單地你可以做<body oncontextmenu="return false" onkeydown="return false;" onmousedown="return false;"><!--Your body context--> </body> <body oncontextmenu="return false" onkeydown="return false;" onmousedown="return false;"><!--Your body context--> </body>

執行此操作后,以下鍵將自動禁用

1. Ctrl + Shift + U 2. Ctrl + Shift + C 3. Ctrl + Shift + I 4. 鼠標右鍵單擊 5. F12 鍵

雖然我認為沒有辦法完全做到這一點,但您可以采取一些措施來阻止幾乎所有人查看 HTML。

您可以首先嘗試通過執行以下操作來停止檢查菜單:

我還建議使用 Jonas 提供的使用他的 javascript 的方法,並將您不希望人們看到的內容放在 id="element-to-hide" 和他給定的 js 腳本的 div 中,以進一步阻止人們進行檢查。

我很確定要克服這一點非常困難。 但是有人可以輸入 view-source:www.exapmle.com ,這將向他們顯示源。 因此,您可能想要加密 HTML(我建議使用為您提供擴展安全選項的網站)。 有很多免費的好網站(例如: http : //www.smartgb.com/free_encrypthtml.php )並使用擴展的安全性,您通常無法通過 HTML 非加密器解密。

這基本上會加密你的 HTML,所以如果你使用我上面展示的方法查看源代碼,你只會得到加密的 HTML(如果你使用擴展的安全選項,這也很難解密)。 但是您可以通過檢查查看未加密的 HTML 但我們已經阻止了(在非常合理的程度上)

如果有人感興趣,您可以在提交后從 DOM 中刪除表單節點,並且它不會使用檢查器在那里。

https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove

 <script> document.onkeydown = function(e) { if(event.keyCode == 123) { return false; } if(e.ctrlKey && e.keyCode == 'E'.charCodeAt(0)){ 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.keyCode == 'S'.charCodeAt(0)){ return false; } if(e.ctrlKey && e.keyCode == 'H'.charCodeAt(0)){ return false; } if(e.ctrlKey && e.keyCode == 'A'.charCodeAt(0)){ return false; } if(e.ctrlKey && e.keyCode == 'E'.charCodeAt(0)){ return false; } } </script>

試試這個代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM