重複の可能性:
Javascriptに定数はありますか?
サードパーティが変更できないように、JavaScriptで最終値の静的を宣言する方法はありますか?
私が持っているのは記事共有アプリケーションで、無料のユーザーが広告でサポートされています。私がやりたいのは、コンテンツのストレージ変数を変更することで、無料のユーザーがinnerHTMLコンテンツを変更できないようにすることです。
現在私が持っているのは、ユーザーのWebサイトにある記事のinnerHTMLを5秒ごとにリロードするタイマーであり、リロードの値を変数に格納しています。
ただし、jsbeatifyを使用する天才が、どの変数が広告を削除するための鍵を握っているのかを調べてそれを変更すると、収益と製品の露出が失われます。
内部変数の変更を防ぐ方法は?
アップデート
これは私が思いついたものの最終結果です:
<div id="specialdiv"></div>
<input type="button" value="try to change the function i to do something different" onclick="t.i = function(){alert(data.secret);}"><BR>
<input type="button" value="set function to null out of spite" onclick="t=null;">
<script type="text/javascript">
e = function(){var data = { };
Object.defineProperty(data, 'secret', {
value: "Hello world!",
writable : false,
enumerable : true,
configurable : false
});this.z=function(){window.setTimeout("try{document.getElementById('specialdiv').innerHTML = '"+data.secret+"';t.i.z();}catch(err) {document.body.innerHTML=err;}",5000);}}
g = function(){};
g.prototype = new e();e=null;window.t = {}
Object.defineProperty(window.t, 'i', {
value: new g(),
writable : false,
enumerable : false,
configurable : false });g = null;
window.t = Object.freeze(window.t); t = Object.seal(window.t);
t.i.z();
</script>
これは、ソースからコードをコピーするだけで困難になるように、パック形式で表示されます。このようにして、コードをコピーして貼り付けるだけの作業が最大化され、自動化が非常に困難になります。
回答ありがとうございます。