我创建了一个HTML页面,现在想要隐藏源代码并加密它。
我该怎么做?
答案 0 :(得分:9)
您可以禁用右键单击,但这不是一个好主意,因为专业人士可以从您的页面中读取任何内容。 您不能完全隐藏页面源 - 这是不可能的。互联网上没有什么是安全的。
在任何情况下,您都可以对其进行加密并设置密码。 您可以使用此链接 - 它将使用密码加密您的HTML页面。
首先,通过在标记之后写出此脚本来禁用右键单击。
<SCRIPT language=JavaScript>
<!-- http://www.spacegun.co.uk -->
var message = "function disabled";
function rtclickcheck(keyp){ if (navigator.appName == "Netscape" && keyp.which == 3){ alert(message); return false; }
if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) { alert(message); return false; } }
document.onmousedown = rtclickcheck;
</SCRIPT>
然后,在本网站中对所有内容进行加密,称为“AES加密”。
链接 - http://aesencryption.net/
您需要设置密码才能解密....您选择密码。
加密后,您只需编写一个基本的HTML页面,只需再次将<head>
标记放入禁用右键单击的脚本,进入您编码的<body>
标记并隐藏所有内容在页面顶部<html hidden>
。
实施例
<!DOCTYPE html>
<html hidden>
<head>
<SCRIPT language=JavaScript>
<!-- http://www.spacegun.co.uk -->
var message = "function disabled";
function rtclickcheck(keyp){ if (navigator.appName == "Netscape" && keyp.which == 3){ alert(message); return false; }
if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) { alert(message); return false; } }
document.onmousedown = rtclickcheck;
</SCRIPT>
</head>
<body>
--here, you put the encrypted code from the link above--
</body>
</html>
在写var message = "function disabled";
的地方,您可以编写类似“此页面无法查看”的内容,或者会使大多数用户烦恼并将离开的内容。 ['此页面不可用'等等....]。
最后,当您右键单击页面时,您将看到一个空白页面,其中会显示一条消息。该消息将类似于“此页面不再有效”。
示例
<SCRIPT language=JavaScript>
<!-- http://www.spacegun.co.uk -->
var message = "**This page is no longer active**";
function rtclickcheck(keyp){ if (navigator.appName == "Netscape" && keyp.which == 3){ alert(message); return false; }
if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) { alert(message); return false; } }
document.onmousedown = rtclickcheck;
</SCRIPT>
我知道可以使用Firebug之类的附加组件删除<html hidden>
或 Javascript脚本,但无论如何您需要使用密码解密代码才能看到真实的页面。
我认为,专家用户可能会使用暴力攻击来查看源代码。
没有什么是安全的。
我发现了一个需要安装在计算机上的应用程序。 企业版中有一项功能,但您必须付费才能获得它。此功能是一个加密HTML页面的工具,使用多达384位密钥进行加密,为HTML文件创建超强密码加密[我上面写的链接最多使用256位密钥进行加密]。 但是,我从未尝试过,因为它不是免费的。
无论如何,软件'HTML Guardian'的链接 - http://www.protware.com/default.htm 有关加密的功能,只需点击页面中的“超强HTML密码保护”。
答案 1 :(得分:2)
实际上并没有这样做会阻止一个复杂的人。
答案 2 :(得分:2)
您无法隐藏源代码,但是您可以通过以下方式添加一些查看源代码的难度
1.禁用右键单击:
<body oncontextmenu="return false">
2.Disable ctrl,u,F12键:
<script type="text/javascript">
function mousehandler(e) {
var myevent = (isNS) ? e : event;
var eventbutton = (isNS) ? myevent.which : myevent.button;
if ((eventbutton == 2) || (eventbutton == 3)) return false;
}
document.oncontextmenu = mischandler;
document.onmousedown = mousehandler;
document.onmouseup = mousehandler;
function disableCtrlKeyCombination(e) {
var forbiddenKeys = new Array("a", "s", "c", "x","u");
var key;
var isCtrl;
if (window.event) {
key = window.event.keyCode;
//IE
if (window.event.ctrlKey)
isCtrl = true;
else
isCtrl = false;
}
else {
key = e.which;
//firefox
if (e.ctrlKey)
isCtrl = true;
else
isCtrl = false;
}
if (isCtrl) {
for (i = 0; i < forbiddenKeys.length; i++) {
//case-insensitive comparation
if (forbiddenKeys[i].toLowerCase() == String.fromCharCode(key).toLowerCase()) {
return false;
}
}
}
return true;
}
</script>
第3。在您开始编码之前添加许多空格
它可能会欺骗某些人
答案 3 :(得分:1)
真的没有办法做到这一点。也许您唯一能做的就是通过JavaScript禁用右键单击功能,但仍然不会阻止有足够经验的用户复制它。但是,请检查this。
答案 4 :(得分:1)
对于 php,将您不想看到的代码与其余代码分开:
<?php
for($i=0;$i<1000000;$i++){
echo "\n";
}
?>
<some html="what you want to hide">
<?php
for($i=0;$i<1000000;$i++){
echo "\n";
}
?>
这将有效地杀死视图源方面(至少几分钟) 如果是查看源,他不会等待结果。 此外,这似乎不会减慢页面加载速度
答案 5 :(得分:0)
我知道,现在有点晚了,但我猜您正在寻找一种叫做混淆的东西。例如,对于 Javascript 文件,有许多混淆工具可用于您的网页构建过程。代码以不可读的格式传输。一些 VPS 提供商提供在构建过程中运行并为您完成这项工作的插件。