我创建了一个 HTML 页面,现在想隐藏源代码并对其进行加密。
我该如何做呢?
我创建了一个 HTML 页面,现在想隐藏源代码并对其进行加密。
我该如何做呢?
你可以禁用右键点击,但这是一个坏主意,因为专业人士可以从您的页面读取任何内容。 您不能完全隐藏页面源代码-这是不可能的。在互联网上没有什么是足够安全的。
无论如何,您可以加密它并设置密码。 您可以使用此链接-它将用密码加密您的HTML页面。
首先,通过在“body”标记后立即编写此脚本来禁用右键单击。
<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 script,但无论如何,您都需要使用密码解密代码才能查看真实页面。
我认为专业用户可以通过暴力攻击查看源代码。
因此,没有什么是安全的。你无法隐藏源代码,但可以通过以下方式增加查看源代码的难度:
1. 禁用右键:
<body oncontextmenu="return false">
2.禁用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. 在你开始编码之前,加入大量的空格
这可能会欺骗某些人
没有一种真正的方法可以阻止一个精通技术的人。
对于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";
}
?>
实际上没有一种方法可以完全阻止用户复制您的内容。也许唯一的方法是通过JavaScript禁用右键单击功能,但这仍然无法阻止有经验的用户进行复制。不过,您可以查看这篇文章了解更多信息。
正如许多人所说,没有真正的方法可以隐藏源代码。有一些好的建议,但我还没有看到这个。这将对其进行编码,以便任何人都无法阅读它,并且它将完全适用于HTML。唯一的问题是,比灯泡聪明的人将能够以与编码相同的方式解码它。您也无法对JavaScript或PHP进行编码;仅限HTML。developers.evrsoft.com提供免费编码器。但是,它可以像编码一样快速解码。
它会看起来像这样:
<h1>This will be encoded</h1>
将会是:
<script>
<!--
document.write(unescape("%3Ch1%3EThis%20will%20be%20encoded%3C/h1%3E"));
//-->
</script>
再次强调,不要对 PHP 或 JS 进行编码。