Ist es möglich, den Javascript-Code vor dem HTML-Code einer Webseite auszublenden, wenn der Quellcode über die Funktion Quelltext anzeigen des Browsers angezeigt wird?
Ich weiß, dass es möglich ist, den Code zu verschleiern, aber ich würde es vorziehen, wenn er vor der Ansichtsquellfunktion verborgen wäre .
javascript
browser
hide
obfuscation
Arun Nair
quelle
quelle
Antworten:
Ich bin mir nicht sicher, ob jemand Ihre Frage direkt angesprochen hat. Dabei handelt es sich um Code, der über den Befehl Quelle anzeigen des Browsers angezeigt wird.
Wie andere bereits gesagt haben, gibt es keine Möglichkeit, Javascript, das in einem Browser ausgeführt werden soll, vor einem bestimmten Betrachter zu schützen. Wenn der Browser es ausführen kann, kann jede bestimmte Person es auch anzeigen / ausführen.
Wenn Sie Ihr Javascript jedoch in eine externe Javascript-Datei einfügen, die im Lieferumfang enthalten ist:
<script type="text/javascript" src="http://mydomain.com/xxxx.js"></script>
Tags, dann wird der Javascript-Code mit dem Befehl View Source nicht sofort sichtbar - nur das Script-Tag selbst wird auf diese Weise sichtbar. Das bedeutet nicht, dass jemand diese externe Javascript-Datei nicht einfach laden kann, um sie anzuzeigen, sondern Sie haben gefragt, wie Sie sie aus dem Befehl "Quelltext anzeigen" des Browsers heraushalten können, und dies wird es tun.
Wenn Sie das Anzeigen der Quelle wirklich besser gestalten möchten, führen Sie alle folgenden Schritte aus:
Nach alledem sollten Sie sich auf Leistung, Zuverlässigkeit und eine großartige App konzentrieren. Wenn Sie einen Algorithmus unbedingt schützen müssen, stellen Sie ihn auf den Server. Ansonsten konkurrieren Sie darum, der Beste zu sein, ohne Geheimnisse zu haben. So funktioniert Erfolg im Web letztendlich sowieso.
quelle
<script>
würde es besser aus der Ansichtsquelle heraushalten (immer noch sichtbar unter dem Live-DOM) - das heißt, es kann nicht einfach in der Quellansicht mit der rechten Maustaste angeklickt werden. Es ist möglich, dass dieses<script>
Element entfernt wird, sobald das JavaScript ausgeführt wird, was es etwas umständlicher (aber nicht unmöglich) macht, den ursprünglichen Code zu erhalten ... natürlich wird der Nettoverkehr in Firebug oder ähnlichem sehr schnell angezeigt ;-)Nein, das ist nicht möglich.
Wenn Sie es dem Browser nicht geben, hat der Browser es nicht.
Wenn Sie dies tun, ist es (oder ein leicht zu befolgender Verweis darauf) Teil der Quelle.
quelle
Meine Lösung ist vom letzten Kommentar inspiriert. Dies ist der Code von unsichtbar.html
Der eindeutige Code von unsichtbar_debut.js lautet:
Beachten Sie, dass ich am Ende das erstellte Skript entferne. unsichtbar.js ist:
unsichtbar.js wird nicht in der Konsole angezeigt, da es entfernt wurde und niemals im Quellcode, weil es von Javascript erstellt wurde.
In Bezug auf unsichtbare_debut.js habe ich es verschleiert, was bedeutet, dass es sehr kompliziert ist, die URL von unsichtbaren.js zu finden. Nicht perfekt, aber genug für einen normalen Hacker.
quelle
invisible.js
in Quellen finden kann. Chrome Version 34.0.1847.131 mVerwenden Sie Html Encrypter Der Teil des Kopfes, der hat
HTML-ENCRYPTER Hinweis: Wenn Ihre Seite ein Java-Skript enthält, versuchen Sie, es in die .js-Datei zu exportieren, und machen Sie es wie im obigen Beispiel.
Und auch dieser Encrypter funktioniert nicht immer in einem Code, der Ihre Website durcheinander bringt ... Wählen Sie den besten Teil aus, den Sie verstecken möchten, wie zum Beispiel in
<form> </form>
Dies kann vom fortgeschrittenen Benutzer umgekehrt werden, aber nicht jeder Noob wie ich weiß es.
Hoffe das wird helfen
quelle
Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, diese Informationen zu verbergen. Unabhängig davon, was Sie tun, um zu verschleiern oder zu verbergen, was Sie in JavaScript tun, kommt es immer noch darauf an, dass Ihr Browser es laden muss, um es verwenden zu können. Moderne Browser verfügen über sofort einsatzbereite Web-Debugging- / Analyse-Tools, mit denen das Extrahieren und Anzeigen von Skripten trivial ist ( F12z. B. nur in Chrome).
Wenn Sie sich Sorgen machen, ein Geschäftsgeheimnis oder einen Algorithmus preiszugeben, können Sie diese Logik nur in einem Webdienstaufruf kapseln und Ihre Seite diese Funktionalität über AJAX aufrufen lassen.
quelle
'Ist nicht möglich!'
Oh ja ist es ....
quelle
Ich glaube, ich habe eine Lösung gefunden, um bestimmte JavaScript-Codes in der Ansichtsquelle des Browsers zu verbergen. Dazu müssen Sie jedoch jQuery verwenden.
Beispielsweise:
In Ihrer index.php
Sie laden eine Datei in den HTML- / PHP-Body, der von einer jquery-Funktion in der js.js-Datei aufgerufen wird.
js.js
Hier ist der Trick.
Fügen Sie in Ihre content.php-Datei ein weiteres Head-Tag ein und rufen Sie von dort aus eine weitere js-Datei auf.
content.php
Erstellen Sie in der Datei js2.js eine beliebige Funktion.
Beispiel:
js2.js
content2.php
Bitte folgen Sie dem Link und kopieren Sie ihn in den Dateinamen von jquery.js
http://dl.dropbox.com/u/36557803/jquery.js
Ich hoffe das hilft.
quelle
Du könntest benutzen
document.write
.Ohne jQuery
Oder mit jQuery
quelle
Ist nicht möglich!
Die einzige Möglichkeit besteht darin, Javascript zu verschleiern oder Ihr Javascript zu minimieren, was es für den Endbenutzer schwierig macht, ein Reverse Engineering durchzuführen. Es ist jedoch nicht unmöglich, ein Reverse Engineering durchzuführen.
quelle
Ansatz, den ich vor einigen Jahren verwendet habe -
Wir benötigen eine JSP-Datei, eine Servlet-Java-Datei und eine Filter-Java-Datei.
Geben Sie dem Benutzer Zugriff auf die JSP-Datei. Benutzertyp URL der JSP-Datei.
Fall 1 -
Mit Printwriter wird die Antwort an den Benutzer gerendert.
In der Zwischenzeit erstellt Servlet eine Schlüsseldatei.
Wenn das Servlet versucht, die darin enthaltene Datei xxxx.js auszuführen, wird der Filter
aktiviert und erkennt, dass eine Schlüsseldatei vorhanden ist, und löscht daher die Schlüsseldatei
.
Damit ist ein Zyklus vorbei.
Kurz gesagt, die Schlüsseldatei wird vom Server erstellt und sofort vom Filter gelöscht.
Dies wird bei jedem Treffer passieren.
Fall 2 -
Anstelle der Dateierstellung kann auch der Einstellungswert in der Sitzungsvariablen verwendet werden.
quelle