防止保存为网页和.js文件

时间:2009-07-17 08:28:30

标签: asp.net javascript

我想阻止我的网站保存为浏览器的功能。我的网站也有一些javascript文件。是否有任何源代码可以防止从浏览器或网站加密源代码保存为网站。

谢谢

6 个答案:

答案 0 :(得分:10)

IMO没有什么可以做的,因为用户已经在他的硬盘上下载了你的页面以便查看它。 “另存为”功能只是简单地剪切/粘贴位于临时Internet文件(或其他任何地方)的html和图片。 为什么要阻止这种情况?

答案 1 :(得分:6)

根据定义,您无法阻止您的网站被下载,因为这是每个用户的浏览器正在做的事情来显示它。

您可以做的最多就是对代码进行模糊处理,这使得任何人都难以重复使用您网站的组件。如果你搜索JavaScript,CSS或HTML混淆器,你会发现很多。

另一个选择是通过使用JavaScript来改变鼠标按钮的行为,尝试让它们下载它更加困难或烦人。 (搜索右键单击禁用脚本)

修改

请注意,我不建议您执行其中任何一项操作。这两种选择都不是完美的,最终只会让用户感到沮丧。

答案 2 :(得分:4)

不是真的,当网站这样做时,非常很烦人。这意味着我需要花5秒时间通过Web Developer Toolbar来禁用它,然后再试一次。

虽然使用AJAX代码动态加载的页面往往很难用当前状态保存。

答案 3 :(得分:4)

由于网页及其相关内容已下载到浏览您网站的用户的计算机,因此它已保存到用户的计算机上。因此,无法阻止用户访问保存功能。

但是,您可以对代码进行模糊处理 - 请阅读this post on the programmer-to-programmer forums。正如帖子中提到的,如果您有不希望用户访问的敏感信息,您将不得不找到另一种方法,该方法不涉及将敏感信息存储在.js文件或网页本身中。

答案 4 :(得分:2)

有一种更简单的方法,您只需要执行以下操作即可。多年来一直在使用这种方法,没有人能够解决它。

<body oncontextmenu="return(false);">

虽然我建议您进行调试,然后在其中添加一些内容,以便您看到类似以下内容的内容

<body oncontextmenu="return(event.crtlKey);">

如果您在右键单击时按住Control键,则用户可以查看上下文菜单。

答案 5 :(得分:-2)

您无法阻止人们保存网页。你可以乱用js,你可以防止右键单击,但你尝试的一切都将是无用的,因为我们仍然可以获取你的图像和你的源代码。你不能在所有浏览器上禁用这样的东西,事实上很难阻止某人获取数据,即因为用户必须下载你的浏览器的网页才能读取代码...所有的代码最终进入他的缓存,他可以进入并查看。退出尝试保护客户端源代码和图像......这是不可能的。

将以下脚本放在页面的头部:禁用右键单击

<script language="JavaScript">

// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this header.
// ----------- Setups ------------------
// Set the address, width, height, top
// and left dimensions for the popup
// window below.
// -------------------------------------

PopUpURL = "http://www.yoursite.com/yourpage.html";
PopUpLeft = 100;
PopUpTop = 100;
PopUpWidth = 500;
PopUpHeight = 100;

// -------------------------------------
// Do not edit anything below this line.
// -------------------------------------

isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
popO='left='+PopUpLeft+',top='+PopUpTop+',width='+PopUpWidth+',height='+PopUpHeight

if (isIE||isNN){
document.oncontextmenu=checkV;
}else{
document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP);
document.onmousedown=checkV;}

function checkV(e){
if (isN4){
if (e.which==2||e.which==3){
dPUW=window.open(PopUpURL,'nrc',popO);
return false;
}}else{
dPUW=window.open(PopUpURL,'nrc',popO);
return false;}}

</script>

附加说明:

在使用此脚本打开的弹出窗口中,您可以 希望将onload =“self.focus()”添加到body标签中,如图所示 紧接在下面。这迫使弹出窗口进入 前面。

<body onload='self.focus()'>