我想隐藏视图代码/检查元素浏览器中的表单代码,我该怎么做?
这是我的代码,请参阅以下内容:
<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>
请看图片
答案 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
试试此代码
<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;
来自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>
或者,您可以在右键单击时创建自己的菜单:
答案 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>
试试此代码