So verhindern Sie das Ändern eines Variablenwerts in Javascript [duplizieren]
Mögliche Duplikate:
Gibt es Konstanten in Javascript?
Gibt es eine Möglichkeit, ein Static mit dem endgültigen Wert in Javascript zu deklarieren, damit es nicht von Dritten geändert werden kann?
Was ich habe, ist eine Artikelfreigabeanwendung, bei der kostenlose Benutzer werbefinanziert werden. Was ich tun möchte, ist zu verhindern, dass die freien Benutzer den Inhalt von innerHTML ändern, indem sie die Speichervariable für den Inhalt ändern.
Was ich in diesem Moment habe, ist ein Timer, der das innerHTML des Artikels auf der Benutzerwebsite alle 5 Sekunden neu lädt und ich speichere den Wert für das Neuladen in einer Variablen.
Wenn jedoch ein Genie, das jsbeatify verwendet, untersucht, welche Variable den Schlüssel zum Entfernen der Anzeige enthält und dies ändert, verlieren wir Umsatz und Bekanntheit unserer Produkte.
Wie kann die Änderung der internen Variablen verhindert werden?
AKTUALISIERENDies ist das Endergebnis von dem, was ich mir ausgedacht habe:
<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>
Dies wird in gepacktem Format dargestellt, um das Kopieren des Codes aus dem Quellcode zu erschweren. Auf diese Weise wird der Aufwand zum einfachen Kopieren und Einfügen des Codes maximiert und ist nur sehr schwer zu automatisieren.
Vielen Dank für Ihre Antworten.