2009-07-17 7 views
-2

ウェブサイトがブラウザから機能的に保存されないようにしたい私のサイトにもjavascriptファイルがあります。ブラウザからのウェブサイトやサイトの暗号化のためのソースコードとして保存するのを防ぐためのソースコードはありますか?ウェブページと.jsファイルとして保存しないようにする

は、ユーザーが出回っそれを見るために彼のハードドライブ上にあなたのページをダウンロードしたとして

+7

これはひどい考えです。私はあなたにこれを試みないように頼みます。それは迷惑で働きません。 –

+0

これを行うことについて遠隔から考える唯一の賢明な理由は、機密情報の開示である。しかし、それでもあなたの問題は望ましくない「機密情報の開示」として保存されないので、280Z28の考えに従ってください。 –

+1

私は合理的ではありますか?忘れてください。 –

答えて

10

はIMOあなたができることは何があるんありがとうございます。 「名前を付けて保存」機能は、インターネット一時ファイル(またはその他の場所)に配置されたhtmlと画像の単純なカット/ペーストです。 なぜこれを防ぐ必要がありますか?

-2

あなたがウェブページを保存できないようにすることはできません。あなたはjsで回り込むことができます、あなたは右クリックを防ぐことができますが、私たちはまだあなたの画像とあなたのソースコードを得ることができるので、あなたが試してみるものは役に立たないでしょう。あなたは、すべてのブラウザでそのようなものを無効にすることはできません。つまり、コードを読むためにブラウザのWebページをダウンロードしなければならないという事実のために、彼のキャッシュに終わって、彼はちょうど入って見ることができます。あなたのクライアント側のソースコードとイメージを保護しようとするのをやめてください...不可能です。

ページの先頭に次のスクリプトを入れてください:右クリックに

<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> 

追加メモ無効にするには:あなたは、このスクリプトで開くポップアップウィンドウで

を、あなたは 追加したい場合がありbodyタグにonload = "self.focus()"と表示されます(下の )。これにより、ポップアップが前面の に送られます。

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

コードバリズを使用すると、読みやすくなります。 –

+6

不要です。無知な人(寛大な婉曲表現)だけがウェブページの右クリックを無効にします。 –

+0

ああ、あなたが右クリックしたと思うとすぐに他のすべてのウェブサイトが "著作権(C)想像力のない名前" – Blixt

6

あなたのサイトがダウンロードされるのを防ぐことはできません。それはすべてのユーザーのブラウザが表示するためです。

あなたができることのほとんどはコードを難読化することで、誰でもあなたのウェブサイトのコンポーネントを再利用することが難しくなります。 JavaScript、CSS、またはHTML難読化ツールを検索する場合は、かなりの数があります。

もう1つの選択肢は、JavaScriptを使用してマウスボタンの動作を変更することにより、ダウンロードすることをより困難または煩わしくすることです。私はこれらのいずれかを行うことはお勧めしません

注:

EDIT(右クリックして無効にするスクリプトを検索します)。いずれのオプションも完璧ではなく、結局はユーザーを苛立たせるだけです。

+0

+1情報提供の回答 – Blixt

4

実際には、それはと非常にのサイトがこれを行うときに迷惑です。それは、Web Developer Toolbarを通過して何かを無効にして、もう一度試してみるのに5秒かかるということです。

AJAXコードを動的にロードするページは、現在の状態で保存するのが難しい傾向にあります。

4

Webページとその関連コンテンツは、Webサイトを閲覧しているユーザーのコンピュータにダウンロードされるため、既にユーザーのコンピュータに保存されています。したがって、ユーザーが保存機能にアクセスするのを防ぐことは不可能です。

しかし、あなたのコードを難読化することができます - this post on the programmer-to-programmer forumsを読んでください。この記事で述べたように、ユーザーがアクセスしたくない機密情報がある場合は、.jsファイルやWebページ自体に機密情報を格納することを含まない別の方法を見つける必要があります。

2

もっと簡単な方法があります。次のようにするだけです。この方法を何年も使っていて、誰もそれを忘れていませんでした。私はデバッグの目的のためにお勧めしますが、あなたはあなたがコントロールを保持する場合、これは、ユーザーがコンテキストメニューを表示することができます、あなたがそれを見ることができるようにそこに次

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

のようなものが何かを置く

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

右クリックしながらキーを押します。

関連する問題