以下网站禁用右键和查看源
http://www.immihelp.com/visitor-visa/sponsor-documents.html谁能解释一下这是怎么可能的?
以下网站的右键和查看源都被禁用。
他们骗了你。在viewsource中向下滚动。
此外,使用这种策略会让你显得不专业。不要这样做。
他们用一些基本的javascript来做这件事,但这实际上并没有隐藏你的HTML源代码!在许多浏览器中,您可以简单地在菜单上单击view->source。即使不能,也可以简单地加载调试代理(如Fiddler)或对连接进行数据包嗅探。
不可能有效地隐藏HTML、JavaScript或发送给客户端的任何其他资源。不可能,而且也没有那么有用。
此外,不要试图禁用右键单击,因为该菜单上还有许多人们经常使用的其他项(例如打印!)。
此代码用于禁用右键事件和键盘快捷键。
试试下面的代码
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;
}
}
<body oncontextmenu="return false">
使用此代码禁用右键。
隐藏HTML源实际上是不可能的。禁用右键只会让那些希望对你的内容做一些建设性的事情的用户感到沮丧(例如复制/粘贴内容或表单,或打印)。
如果你正在运行服务器端脚本语言,你可以混淆或缩小HTML, CSS和Javascript。这将使别人很难复制您的代码或看到您如何实现某些效果。
这是一件可怕的事情,正如其他人所说的那样,但是如果您真的打算这样做,请使用以下代码,并在页面源代码的顶部放置一组返回:
<html>
<head>
<script>
function disableClick(){
document.onclick=function(event){
if (event.button == 2) {
alert('Right Click Message');
return false;
}
}
}
</script>
</head>
<body onLoad="disableClick()">
</body>
</html>
您仍然可以通过在firefox工具栏中单击"查看>页面源代码"在网站上查看源代码。或在IE中查看>源代码。
右键是通过javascript禁用的。javascript的源代码是:
http://www.immihelp.com/common/utils.js
相信我,没有人像你想象的那样想要你的资源。当你决定开发网页时,你就成了一个开源开发者。
不可能禁用查看页面源代码。您可以尝试避免不了解源代码的用户看到源代码,但它不会阻止任何了解如何使用菜单或快捷键的人。你最好的办法是开发你的网站的方式不会被别人看到你的来源。如果你试图隐藏它的任何其他原因,而不是为了保护你的知识产权,那么你就做错了。
您可能无法阻止用户查看HTML源内容。您所列出的网站阻止用户右键单击。但事实上,你仍然可以在Firefox中按CTRL + U来查看源代码!
在我的浏览器(Chrome)中未禁用查看源
但是他们在源代码中添加了很多空白行,所以你必须向下滚动才能查看它。试着向下滚动,你会看到。
禁用右键是可能的javascript,但不要这样做。这对使用者来说是非常恼人的。
如果您正在使用jQuery,可以像这样禁用整个页面的右键:
$( document ).ready(function() {
$("html").on("contextmenu",function(){
return false;});}
你不能。
任何可以被浏览器读取的也可以被人类读取。如果你想隐藏一些东西,不要把它发送到用户的浏览器。
你可以添加各种各样的噱头和技巧来禁用右键和禁用ctrl+U
用户所要做的就是将view-source:
添加到url中,他们将立即看到源代码。
view-source:https://stackoverflow.com
你不能有效地隐藏你的HTML和JavaScript代码,即使你加密或缩小它。
如果你想隐藏的代码真的很敏感,它应该在网站的一个受保护的区域,即一个你只能通过用户名和密码访问的区域,或者可能在一个不通过网络暴露的客户端应用程序中。
如果你必须通过web前端来公开应用程序的功能,你可以使用Silverlight来编写前端或前端的一部分。在过去,你也可以使用ActiveX。
<script>
$(document).ready(function() {
document.onkeydown = function(e){
if (e.ctrlKey &&
(e.keyCode === 67 ||
e.keyCode === 86 ||
e.keyCode === 85 ||
e.keyCode === 117)) {
return false;
} else {
return true;
}
};
});
</script>
我已经构造了一个简单的自检php文件,它只允许人类真正的加载,而不是机器人喜欢(在线源代码查看器)..
我不确定从Chrome查看源代码,但它确实阻止访问html…不只是混淆,它使用反弹提交来验证负载。
短代码在源代码查看器中仍然可见,所以我也混淆了它…
页面被加载并反弹回来,反弹得到真正的页面,而不是加载器!
// Create A New File called ( lock.php )
复制到里面....
<?php
// PAGE SOURCE GUARD by Elijah Cuff.
if (!hasParam('bounce'))
{
echo "
<script type='text/javascript'>
<!--
eval(unescape('%66%75%6e%63%74%69%6f%6e%20%63%36%36%32%32%30%36%62%32%63%28%73%29%20%7b%0a%09%76%61%72%20%72%20%3d%20%22%22%3b%0a%09%76%61%72%20%74%6d%70%20%3d%20%73%2e%73%70%6c%69%74%28%22%37%36%33%33%31%37%31%22%29%3b%0a%09%73%20%3d%20%75%6e%65%73%63%61%70%65%28%74%6d%70%5b%30%5d%29%3b%0a%09%6b%20%3d%20%75%6e%65%73%63%61%70%65%28%74%6d%70%5b%31%5d%20%2b%20%22%35%37%35%31%36%35%22%29%3b%0a%09%66%6f%72%28%20%76%61%72%20%69%20%3d%20%30%3b%20%69%20%3c%20%73%2e%6c%65%6e%67%74%68%3b%20%69%2b%2b%29%20%7b%0a%09%09%72%20%2b%3d%20%53%74%72%69%6e%67%2e%66%72%6f%6d%43%68%61%72%43%6f%64%65%28%28%70%61%72%73%65%49%6e%74%28%6b%2e%63%68%61%72%41%74%28%69%25%6b%2e%6c%65%6e%67%74%68%29%29%5e%73%2e%63%68%61%72%43%6f%64%65%41%74%28%69%29%29%2b%2d%36%29%3b%0a%09%7d%0a%09%72%65%74%75%72%6e%20%72%3b%0a%7d%0a'));
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%63%36%36%32%32%30%36%62%32%63%28%27') + '%47%67%7f%76%73%44%15%15%45%69%74%7e%76%23%7a%6e%7f%6f%75%6c%46%2f%73%74%7f%7f%2d%2f%6a%6f%42%28%7e%62%7a%2d%45%15%15%47%66%71%73%7a%7a%20%7f%78%73%6a%45%2d%6b%66%6f%6f%6a%74%2e%23%73%62%72%6d%46%2d%61%70%7e%75%69%6d%2d%21%79%66%74%7e%6e%4a%2d%32%29%44%44%30%68%71%77%7d%7f%41%1a%15%47%34%6c%73%7d%74%41%12%16%47%7c%60%7d%6a%77%7a%42%16%17%23%7c%69%71%6f%7c%78%31%78%6b%7c%5f%68%76%6a%73%7e%7f%27%69%7e%75%69%7c%6a%72%71%2f%29%23%84%1a%15%23%6b%75%6f%7e%74%6e%75%7c%31%68%62%7f%4e%73%6b%75%6e%73%7f%49%79%4a%6f%27%67%28%79%67%7b%67%2a%2a%35%7f%7e%6d%7a%6a%7f%2f%2f%47%16%17%23%27%85%37%23%33%33%33%2e%41%15%15%45%30%78%6f%7d%6a%7f%7f%41%12%10%44%30%69%7f%72%74%417633171%35%39%35%35%31%30%36' + unescape('%27%29%29%3b'));
// -->
</script>
<noscript><i>Javascript required</i></noscript>
";
exit;
}
function hasParam($param)
{
return isset($_POST[$param]);
}
?>
现在把它添加到
的最上面每一页…例子…
<?php
// use require for more security...
include('lock.php');
?>
<HTML>
etc.. etc...
您可以使用JavaScript禁用上下文菜单(右键单击),但它很容易被覆盖。例如,在Firefox中,转到Options -> Content,然后在"Enable JavaScript"复选框旁边单击Advanced。取消选中"禁用或替换上下文菜单"选项。现在你可以右键单击你想要的。
一个简单的CTRL + U将查看源代码。它永远不能被禁用。
$(document).ready(function() {
`$(document).bind("contextmenu copy paste cut drag drop ",function(e {`return false;`});`
没有完全的证明方法。
但这里有一些策略,可以用来隐藏源代码使用"window.history.pushState()"和添加oncontextmenu="return false"
在体标签attribute
像<body oncontextmenu="return false">
禁用右键点击太随着修改视图源内容使用"history.pushState()"。
详情在这里- http://freelancer.usercv.com/blog/28/hide-website-source-code-in-view-source-using-stupid-one-line-chinese-hack-code
我想,在这里,右键没有提到,@Jishnu V . s
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;
}
}
不可能,但有另一种选择。它不隐藏HTML,而是隐藏JS代码。这总比什么都不隐瞒好。如果你正在使用任何前端框架,如ReactJS等。因此,您实际上可以隐藏源代码,使其不显示在浏览器的Sources
选项卡中。
遵循这些简单的步骤:
- 在项目中创建
- 将
GENERATE_SOURCEMAP=false
写入.env
文件 现在,将代码部署到netflix等。
.env
文件现在,我们制作的*min.js
文件而不是浏览器中的原始JS文件。
虽然没有100%的解决方案,但至少你可以让用户更困难。
在你的HTML中放置一个空标签,例如<div id="text1"></div>
然后调用javascript函数-通过ajax发送POST请求到例如renderer.php文件,它将从数据库中提取内容并返回json响应。
然后通过$(#text1).html(textfromphp)
,你只需把文本放到你在页面上的id。
加上你禁用左/右点击你的网页通过javascript。
所以用户不能从你的页面复制任何东西,即使用户打开源代码,他只会看到空的DIV标签!
你也可以禁用右键来阻止打开开发工具或F12。
renderer.php文件也有一个会话检查,所以它不能独立运行,如果有人尝试它,它也等待POST请求。
如果用户禁用javascript,内容无论如何都不会呈现。
获取页面内容的唯一方法是通过网络请求,并不是每个人都能做到这一点。
这是我如何保护我的内容。