如何从视图代码/检查元素浏览器中隐藏表单代码?

时间:2014-06-20 04:08:28

标签: javascript php jquery forms

我想隐藏视图代码/检查元素浏览器中的表单代码,我该怎么做?

这是我的代码,请参阅以下内容:

<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>

请看图片

enter image description here

13 个答案:

答案 0 :(得分:19)

你根本无法做到。

代码检查器专为调试HTML和Javascript而设计。他们通过显示网页的实时DOM对象来实现。这意味着它会显示您在页面上看到的所有内容的HTML代码,即使它们是由Javascript生成的。一些检查员甚至在iframe中显示代码。

如何禁用键盘/鼠标交互...

有一些javascript技巧可以禁用页面上的某些键盘,鼠标交互。但总是正在努力解决这些问题。例如,您可以使用浏览器顶部菜单启用DOM检查器而不会出现问题。

简单来说,如果您不希望别人在浏览器中获取内容,您应该从不首先将其发送到浏览器。

答案 1 :(得分:18)

有一种智能方法可以禁用网站中的inspect元素。只需在脚本标记内添加以下代码段:

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

请查看此blog

直接从浏览器中取出inspect元素的功能键F12,我们也可以使用以下代码禁用它:

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

答案 2 :(得分:6)

您可以添加此脚本,以便在用户使用时发出错误:D

试试此代码

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

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

答案 3 :(得分:2)

虽然我认为没有办法完全做到这一点,但您可以采取一些措施阻止几乎所有人查看HTML。

您可以首先尝试通过执行以下操作来停止检查菜单:

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

我还建议使用 Jonas 给出的使用javascript的方法,并将你不希望别人看到的内容放在 div中 id =“element-to-hide” 和他给定的js脚本,以进一步阻止人们检查。

我很确定很难超越它。但是有人可以输入 view-source:www.exapmle.com ,这会向他们展示来源。因此,您可能希望加密HTML(我建议使用一个为您提供扩展安全选项的网站)。有很多好的网站可以免费使用这些网站(例如:http://www.smartgb.com/free_encrypthtml.php)并使用扩展安全性,你通常无法通过HTML un加密器解密。

这基本上会对您的HTML进行加密,因此如果您使用上面显示的方法查看源代码,您将只获得加密的HTML(如果使用扩展安全选项,也很难解密)。但您可以通过检查查看未加密的HTML,但我们已经阻止了(在非常合理的范围内)

  

好的,所以你无法完全隐藏HTML,但你可以做得非常好   阻止人们看到它的工作。(如果你考虑大多数人   不关心查看页面的HTML,有些人甚至都不知道   关于检查和查看源和可能做的人   不会被打扰或无法超越这些含义!所以   可能没有人会看到你的HTML)

(希望这会有所帮助!)

答案 4 :(得分:1)

此代码在调试器打开时从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。 这是一个黑客,但我希望它可以帮助你。

答案 5 :(得分:0)

您可以使用以下标记

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

或者,您可以在右键单击时创建自己的菜单:

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

答案 6 :(得分:0)

你不能阻止用户看到我们的代码,但你可以通过禁用某些键来避免它

只需你可以<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键

答案 7 :(得分:0)

虽然我认为没有办法完全做到这一点,但您可以采取一些措施阻止几乎所有人查看HTML。

您可以首先尝试通过执行以下操作来停止检查菜单:

我还建议使用Jonas使用javascript的方法,并将你不希望别人看到的内容用id =&#34; element-to-hide&#34;和他给出的js脚本进一步阻止人们检查。

我很确定很难超越它。但是有人可以输入view-source:www.exapmle.com,这将向他们展示来源。因此,您可能希望加密HTML(我建议使用一个为您提供扩展安全选项的网站)。有很多好的网站可以免费提供这些服务(例如:http://www.smartgb.com/free_encrypthtml.php),并使用扩展安全性,而这些安全性通常无法通过HTML un加密器解密。

这基本上会对您的HTML进行加密,因此如果您使用上面显示的方法查看源代码,您将只获得加密的HTML(如果使用扩展安全选项,也很难解密)。但您可以通过检查查看未加密的HTML,但我们已经阻止了(在非常合理的范围内)

答案 8 :(得分:0)

虽然我认为没有办法完全做到这一点,但您可以采取一些措施阻止几乎所有人查看HTML。

您可以首先尝试通过执行以下操作来停止检查菜单:

我还建议使用Jonas使用javascript的方法,并将你不希望别人看到的内容用id =&#34; element-to-hide&#34;和他给出的js脚本进一步阻止人们检查。

我很确定很难超越它。但是有人可以输入view-source

这基本上会对您的HTML进行加密,因此如果您使用上面显示的方法查看源代码,您将只获得加密的HTML(如果使用扩展安全选项,也很难解密)。但您可以通过检查查看未加密的HTML,但我们已经阻止了(在非常合理的范围内)

答案 9 :(得分:0)

JavaScript代码下方为我禁用了inspect元素。

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

答案 10 :(得分:0)

如果有人感兴趣,您可以在提交后从DOM中删除表单节点,并且不会使用检查器。

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

答案 11 :(得分:0)

您可以使用此代码-

右键单击-

<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)) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'C'.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;
  }
}
</script>

答案 12 :(得分:-2)

<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>

试试此代码