ブラウザからソース コード (HTML PAGE に特化) を非表示にできることを知りたいです。viewsource
? もしyes
どのように?
そして、no
私のページコードを保護する他の方法よりも?
5 に答える
HTML のみを非表示にする場合は、body タグ内に空の DIV タグを作成し、サーバーへの ajax コールバックを使用して残りの HTML を取得できます。次に、div タグに挿入して、divdocument.getElementById("div").innerHTML = ajax_content
にコンテンツを入力します。
これは、ajax/javascript コーディングについて知らないコンテンツ作成者からのみ HTML を非表示にします。ページのソースを表示しようとすると、空の div タグのみが表示されます。
この方法は抑止力であり、回避ではありません。
- そのページの htaccess パスワードを追加します。ユーザーがページにアクセスでき、ページが HTML の場合、ユーザーはソースを表示できます。しかし、ユーザーがページにアクセスできない場合、ユーザーはコードを見ることができません:)
- html を画像に変換し、html の代わりに表示します。ユーザーにコードが残されることはありません。
フラッシュ版を使用。ユーザーはフラッシュをダウンロードできますが、ソースを抽出するのは難しくなります (まだ可能ですか?)。
- 上記のすべてが正しい方法ではありません。コンテンツを隠すのではなく、提供することに集中してください。
- 右クリックを無効にするのは役に立ちません。
- 難読化によってコードが隠されることはありませんが、ユーザーがコードを取得するにはさらに時間がかかります。
他の人が言ったように、Web 上では、クライアントはすべての html、javascript、css をダウンロードしてブラウザに表示できるため、コードをクライアントに隠すことはできません。
あなたができる唯一のことは、Web サイトのリリース バージョンを構築するときにコードを難読化し、最小化することです。
そうすれば、コードを盗もうとする「ハッカー」の作業が複雑になります。 http://en.wikipedia.org/wiki/Obfuscation_(ソフトウェア)
http://en.wikipedia.org/wiki/Minification_(プログラミング)
Google の難読化されたコードの例を次に示します。
var _=_||{};(function(_){var window=this;
try{
var aaa;var cb;_.ha=function(){return function(a){return a}};_.wa=function(){return function(){}};_.xa=function(a){return function(b){this[a]=b}};_.ya=function(a){return function(){return this[a]}};_.Aa=function(a){return function(){return a}};_.Fa=function(a,b,c){a=a.split(".");c=c||_.Ga;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c=c[d]?c[d]:c[d]={}:c[d]=b};
_.La=function(a,b){for(var c=a.split("."),d=b||_.Ga,e;e=c.shift();)if(null!=d[e])d=d[e];else return null;return d};_.Ma=function(){};_.Oa=function(a){a.H=function(){return a.JS?a.JS:a.JS=new a}};
_.Pa=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};_.Ra=function(a){return void 0!==a};_.Ta=function(a){return"array"==(0,_.Pa)(a)};_.Ua=function(a){var b=(0,_.Pa)(a);return"array"==b||"object"==b&&"number"==typeof a.length};_.Va=function(a){return"string"==typeof a};_.Ya=function(a){return"number"==typeof a};_.Za=function(a){return"function"==(0,_.Pa)(a)};_.ab=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};_.bb=function(a){return a[cb]||(a[cb]=++aaa)};
var baa=function(a,b,c){return a.call.apply(a.bind,arguments)};var caa=function(a,b,c){if(!a)throw Error();
できません。ページで右クリック メニューを使用するのを少し難しくすることはできますが、ページのソースにアクセスするのは簡単です。ページのコードを「保護」することを期待しないでください。