Heim >Web-Frontend >js-Tutorial >Deaktivieren Sie JavaScript nicht vollständig, sondern teilweise in den page_javascript-Tipps

Deaktivieren Sie JavaScript nicht vollständig, sondern teilweise in den page_javascript-Tipps

WBOY
WBOYOriginal
2016-05-16 16:37:211414Durchsuche

Die in diesem Artikel besprochene Methode wurde nicht in tatsächlichen Projekten angewendet, da ich noch kein Projekt mit einem solchen Bedarf gesehen habe, aber das Experiment hat ergeben, dass es machbar ist.

1. Die Quelle meiner Ideen

JavaScipt ist eine gute Sache. Natürlich sind die Vorteile nicht nur auf diese beschränkt. Die boomende AJAX-Anwendung hat dazu geführt, dass die Menschen der kleinen Sprache JavaScipt mehr Aufmerksamkeit schenken (Viele Programme sind großartig.) Betrachten Sie es als eine Sprache, höchstens als einen Skriptnamen, und schauen Sie sogar auf die Anwendung von Leuten, die Skripte erstellen. Heutzutage öffnen viele offizielle Blog-Websites Skriptberechtigungen, sodass Benutzer Skripte anpassen können, um ihren eigenen Bereich zu bereichern. Insbesondere einige technische und professionelle Blogs bieten eine recht entspannte Entwicklungsumgebung. Wir haben aber auch festgestellt, dass viele Blogs bestimmte Skriptmethoden einschränken. Beachten Sie, dass ich hier von einer teilweisen Einschränkung spreche. Wenn es sich um eine vollständige Einschränkung handelt, ist es sehr einfach, den Skriptblock 3f1c4e4b6b16bbbd69b2ee476dc4f83a herauszufiltern.

Da ich in früheren Projekten nicht auf ein solches Problem gestoßen bin, habe ich nicht allzu viel recherchiert. Zuerst habe ich nur nach meinem Gefühl darüber nachgedacht, die „Ersatz“-Methode zu verwenden. Offensichtlich wird ein solcher Ansatz nicht funktionieren, weil etwas schief gehen könnte. Wenn ich beispielsweise die Benachrichtigungsmethode deaktivieren möchte, habe ich den folgenden Code:
window.alert('Some message');

Um den obigen Code ungültig zu machen, ändern Sie ihn beispielsweise in Großbuchstaben ALERT. Dies führt definitiv zu einem Skriptfehler, aber Sie können den ALERT trotzdem mit try{}catch{} ändern Dies ist ein großes Problem bei der Identifizierung des Ban-Pakets und es wird auch ein solcher Fehler auftreten: Die Warnung in document.write('alert some message'); wird ebenfalls ersetzt.

Später habe ich darüber nachgedacht, die Methode neu zu schreiben und sie zu deaktivieren. Es stellte sich heraus, dass es wirklich machbar ist, aber ich weiß nicht, ob es eine wissenschaftliche Methode ist . einmal.

2. Spezifische Umsetzung

Sehen Sie sich zunächst den folgenden Code an, um die Methoden „alert“ und „write“ zu deaktivieren:

window.alert=function(){}
document.write=function(){}

window.alert('Alert some message');
document.write('Write some message');

Es scheint wirklich einfach zu sein. Extrahieren Sie die ersten beiden Zeilen separat, speichern Sie sie in einer externen JS-Datei und laden Sie diese JS-Datei zuerst auf die Seite, auf der die JavaScript-Methode gefiltert werden muss (Sie können sie auch bearbeiten). Inhalt, wenn der Benutzer dieses Skript in die vorherige Zeile des Blocks lädt, sodass unser Administrator oder Webseitenersteller im vorherigen HTML-Block weiterhin die Methode verwenden kann, die deaktiviert wird), sodass ein späterer Aufruf der deaktivierten Methode nicht funktioniert.

Hinweis: Als letzte Erinnerung müssen Sie auch einige DOM-Operationsmethoden deaktivieren, z. B. die Methode „remove()“, da Benutzer DOM-Operationsmethoden verwenden können, um die JS-Datei zu entfernen, die Sie zu Beginn geladen haben.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn