2010-05-20 4 views
14

Gibt es eine Möglichkeit, Firebug überhaupt nicht auf einer Website arbeiten zu lassen?Gibt es eine Möglichkeit, Firebug daran zu hindern, an einer bestimmten Site zu arbeiten?

+2

Sie möchten, dass Benutzer Ihre Website nicht analysieren können? Wie, genau, hast du dir das vorgestellt? –

+33

Sie könnten Ihre Website wie eine Firebug-Konsole aussehen lassen und hoffen, dass der Benutzer verwirrt – catchmeifyoutry

+1

Ich habe keine Ahnung, daher warum ich fragte –

Antwort

15

Wenn die Leistung Ihrer Website beeinträchtigt wird, wenn Firebug aktiviert ist, möchten Sie möglicherweise eine Warnung anzeigen, in der Benutzer aufgefordert werden, sie auszuschalten. You can easily detect if Firebug is enabled through JavaScript.

+5

+1 Das ist, was Google Mail tut. –

+2

+1, dies ist wahrscheinlich alles, was Ihre Website tun kann. Außerdem könntest du versuchen zu protokollieren, welche Benutzer es aktiviert haben, wenn es dazu führt, dass deine Seite langsam läuft. Zumindest dann, wenn sie sich beschweren, kannst du sagen, "naja, wenn du Firebug ausgeschaltet hättest, wie wir es dir gesagt haben. .. " –

6

Sie können auf die Schaltfläche Off klicken, um sie zu deaktivieren.

Oder möchten Sie verhindern, dass Ihre Benutzer das Programm ausführen? Wenn ja, viel Glück ...

4

Alles, was Sie an den Client senden, werden alle Ihre JavaScript aktivieren, ist offen wem auch immer Sie es schicken zu. Hab nichts, was du nicht sehen willst. Es gibt keine Möglichkeit, den Browser eines anderen Benutzers daran zu hindern, Firebug oder eine Vielzahl anderer Tools zu verwenden, um Ihren Code zu analysieren. Sie könnten versuchen, Ihre HTML, CSS und Javascript wirklich schlecht zu machen, und das könnte sie verlangsamen! Es gibt Verschleierungsprogramme, die das Lesen erschweren. Wenn Sie die Funktionalität verstecken möchten, müssen Sie dies auf dem Server tun.

+0

Ich liebe es und werde upvote wenn ich mehr Stimmen bekomme. – Josh

7

Nein. Niemand möchte Ihre Javascript-Routinen sowieso. :-)

Und wenn Sie besorgt über unsicheren Code sind, sollten Sie Ihre Website umschreiben, um sicher zu sein, anstatt zu versuchen, seine Probleme zu verbergen.

+4

" Meine JavaScript-Routinen "gehören zu der Firma, für die ich arbeite und meine Firma möchte, dass das, was wir entwickeln, gesichert ist. Nichts für ungut, aber deine Antwort ist sowohl ziemlich nutzlos und ziemlich arrogant. –

+8

@William: Sagen Sie Ihrer Firma, wenn sie etwas "gesichert" wollen, sollten sie es nicht auf eine öffentliche Webseite stellen. –

+0

Ich war aufrichtig in meinem Angebot einer nützlichen Perspektive auf eine falsch informierte Verfolgung von "Ihrer Firma", ähm, ahnungslose App-Dev-Manager. Aber nichts für ungut. –

4

Sie könnten Ihre Website in Flash, Silverlight oder Java entwickeln. Firebug ist dann darauf beschränkt, Ihr Basis-HTML anzuzeigen.

Ich nehme an, Sie sind besorgt über Reverse Engineering mit FireBug.

+0

Leider kann ich das nicht tun, ich brauche alles, um vollständig HTML zu sein.Die Seiten, die ich entwickle, gehören nicht mir, sondern der Firma, für die ich arbeite, danke trotzdem. –

15

WARNUNG: EXTREM BÖSE. NIEMALS NUTZEN SIE DIESEN CODE. Außerdem wird es niemanden abschrecken, der einfallsreich ist.

setTimeout(checkForFirebug, 100); 
function checkForFirebug() 
{ 
    if (window.console && window.console.firebug) { 
     while(true); //Firebug is enabled 
    } 
    setTimeout(checkForFirebug, 100); 
} 

EDIT: ich dachte, ich hinter der Frage eine Antwort auf die eigentliche Frage bieten würde. Tatsache ist, dass Javascript eine interpretierte Sprache ist und dass sich der Interpreter im Browser befindet. Dies macht es buchstäblich unmöglich, Javascript bereitzustellen, das sowohl sicher als auch ausführbar ist. Das Gleiche gilt für HTML und CSS. Das Beste, was Sie tun können, ist, das Javascript zu verkleinern, um es ein wenig einfacher zu machen, es wiederzuverwenden. Wenn das Unternehmen wirklich "sicheres" Javascript möchte, müssen Sie ihm nur sagen, dass es nicht wirklich möglich ist.

+4

Ich weiß nicht, ob zu + oder - dieses Niveau des Bösen. –

+0

+1 Am besten. –

+5

Der einfache Workaround dafür ist, JavaScript vor dem Laden der Seite zu deaktivieren. Dies schützt zwar nicht Ihren Code, aber er kann Ihre Benutzer verärgern. So wie die meisten bösen Dinge ist es auch sehr dumm. –

1

Letztendlich nein, da der Browser (in diesem Fall Firefox) auf ihrer Maschine wählen kann, was auch immer Javascript (wie Firebug) es will. Sie können nicht verhindern, dass Benutzer sie zusammen mit Ihrer Website ausführen.

3

Nein, natürlich nicht. Wenn Firebug etwas enthüllt, das Sie verhindern müssen, dass Ihre Benutzer es sehen, dann nähern Sie sich diesem Problem völlig falsch. Ich versuche nicht, unhöflich oder erniedrigend zu sein, aber zu versuchen, ein bestimmtes Programm zu blockieren, um einen Fehler in Ihrer Webanwendung zu beheben, ist ungefähr so ​​logisch wie ein Eimer Dampf. Firebug macht nichts Magisches; Ich kann alles machen, indem ich etwas Code schreibe. Allerdings muss es ein grundlegendes Problem geben, über das Sie sich mehr Gedanken machen sollten.

+0

Ich habe nie etwas über Bugs erwähnt, meine Frage ist einfach und unkompliziert. Das Grundproblem ist, dass mein Unternehmen darum gebeten hat, dass jeder von uns entwickelte JavaScript-Code gesichert ist. –

+2

Aber das ist nicht möglich – Petter

+2

@William Nichts für ungut, aber dann muss Ihr Unternehmen einen besseren Überblick darüber bekommen, was "sicher" in diesem Zusammenhang bedeutet. – deceze

1

, wenn Sie Ihren Code zu schützen, Sie könnten versuchen, Ihren JavaScript-Quellcode

google encrypt javascript source

+1

Beachten Sie, dass die Verschlüsselung von jemandem unterbunden werden kann, der sich als Browser ausgibt (möglicherweise mit Rhino). –

+0

richtig, es macht es nur ein bisschen schwieriger zu erreichen, aber letztlich, wenn ein PC es anzeigen/lesen/verwenden kann jemand in der Lage, es zu kopieren. – Mauro

7

Wenn Sie Ihre HTML/CSS/JavaScript von Besuchern ausblenden möchten Verschlüsselung, das ist nicht möglich. Selbst wenn man Firebug nicht benutzen kann, kann man einfach den HTML-Quellcode ansehen. Alle externen JavaScripts und Stylesheets können als reine Textdateien heruntergeladen werden. Da HTML, CSS und JavaScript clientseitige Technologien sind, die als einfacher Text heruntergeladen und vom Webbrowser interpretiert werden, ist es theoretisch unmöglich Ihren Code zu verbergen. Das Beste, was Sie tun können, um den Code härter zu verstehen, ist obfixieren es. Siehe Wikipedia.

5

"Meine JavaScript-Routinen" gehören zu der Firma, für die ich arbeite und meine Firma möchte, dass die von uns entwickelten Sachen gesichert werden.

Sie nicht sicher Sachen durch die leichte Schulter „Hacker“ auf den Finger klopfend, wenn sie ein bestimmtes Debugging-Tool verwenden. Versuchen Sie, sie daran zu hindern, das ultimative Hacker-Tool : "View Source" zu verwenden.

Wenn es da draußen ist, ist es da draußen. "Sicher" bedeutet in diesem Zusammenhang etwas anderes. Es bedeutet, dass Sie Ihre wichtigen Daten sichern, indem Sie Techniken einsetzen, die undurchdringlich sind, selbst bei vollständiger Kenntnis des Quellcodes. Der Quellcode selbst kann nicht gesichert werden, und es muss auch nicht sein.


*) "undurchdringlich" = schwierig genug, in einer angemessenen Zeit zu untergraben, nichts ist 100% :)

10

Ähm .... Was ist mit Firefox (mit oder ohne Firebug) damit zu tun haben?

Ich benutze IE und ich kann genauso einfach Ihr JavaScript ansehen. Genauso mit Google Chrome. Hell, ich kann JavaScript herunterladen, wenn Sie Ihre Webseite auf meinem Palm Treo ansehen.

Alles, was direkt von einem Browser aus aufgerufen werden kann, kann in Ruhe heruntergeladen und analysiert werden. Wie andere (besser als ich) gesagt haben, sollte JavaScript, das auf Ihrer Website läuft, als "Open Source" betrachtet werden. Suchen Sie nach einer anderen Möglichkeit (z. B. Verarbeitung auf Ihrem Server) oder akzeptieren Sie, dass sich jemand einhackt und es anschaut.

Wohlgemerkt, sind Ihre Routinen so offensichtlich gut (in Bezug auf das, was sie mit Ihren Webseiten tun), dass ein Benutzer auf Ihre Website gehen und sofort sagen "Hey, das ist cool, ich frage mich, wie sie es tun?" Wenn nicht, machen Sie sich keine Sorgen - die meisten Leute werden nicht interessiert genug sein, um zu versuchen, auf Ihr JavaScript zu schauen.

Sie könnten versuchen, Ihren JavaScript-Code zu verkleinern, aber das wird nicht zu 100% jemanden aufhalten, der bestimmt ist. Sie könnten versuchen, es zu verschlüsseln, aber ich habe es noch nie versucht. Oder legen Sie einen Urheberrechtshinweis in Ihre JavaScript-Dateien, so dass zumindest ein anderer Benutzer Ihre Arbeit anschließend nicht als Ihre weitergeben kann, ohne in rechtliche Schwierigkeiten zu geraten.

2

nur einen kleinen Trick zu schaffen, die ich niedrigere Menschen verwenden helfen Ihren Code zu sehen,

Einer der Tricks ich das tue nicht daran hindert, die JavaScript aus dem experianced Entwickler oder Hacker gefunden werden, aber schreckt die wenige Menschen mit Firebug/Inspektor spielen,

Verwendung jQuery oder eine andere lib mit einem Rost Selektor

der zweite Anlaufstelle ist alles, was Sie Dateien, um sie in eine Ladedatei EG setzen

Loader.js

(function($){ 
    function loader(type, addr){ 
     var head = $("head")[0]; 
     switch(type){ 
      case "script":{ 
       var element = $(document.createElement("script")); 
       element.attr("type", "text/javascript"); 
       element.attr("src", addr); 
       element.attr("loaded", "loader") 
       $(head).append(element); 
      } 
      case "style":{ 
       var element = $(document.createElement("link")); 
       element.attr("rel", "stylesheet"); 
       element.attr("type", "text/css"); 
       element.attr("loaded", "loader"); 
       element.attr("href", addr); 
       $(head).append(element); 
      } 
     } 
    } 

    loader("css", "path/to/your.css"); 
    loader("script", "path/to/script.js"); 

    loader("script", "unloader.js") 
})(jQuery); 

So beginnt mit wurden mit einem Verschluss jemand dies verhindern, dass die Konsole Eingang des Inspektors mit dem Code, um zu sehen, die ausgeführt wurde.

also sobald diese Datei übergeben wurde lädt sie Ihre CSS und JS aber Sie können immer noch dort im Kopf Element Ihres Inspektors geladen sehen, dank Browsern und der Art, wie sie arbeiten, können Sie diese entfernen und nicht entladen bedeutet, dass der Code nicht aus der Ausführung entfernt wird, aber verhindert, dass sie im Inspektor angezeigt werden. Dies ist der Inhalt des Entladeprogramms.

unloader.js

(function($){ 
    $("head *[loaded=loader]").remove(); 
})(jQuery); 

Die oben werden die Dateien entfernen, obwohl das Ladeprogramm geladen.

Das einzige, was Sie sich merken müssen, ist loaded="loader" zu Ihrem Scrip hinzuzufügen, dass der Lader enthält, jetzt ist dies nicht, dass es für einige eine Ihre Dateien unmöglich machen, um zu sehen, aber stoppt den Inspektoren von ihnen in der HTML zeigt,

die Möglichkeiten, um dies zu sein kann "View Source" -Code sehen Sie die Loader-Datei und lesen Sie, dass so stellen Sie sicher, dass Sie den Code minimieren ich benutze Google Closure Compiler (http://closure-compiler.appspot.com/home)

selbst das stoppt sie nicht, es macht es nur schwieriger. einer der Schritte, die ich getestet habe, aber nicht verwenden, ist auf dem Loader und Dateien laden eine .HTAccess -Regel, um zu überprüfen, dass sie eine Reffer Link von Ihrer Website haben, dies verhindert, dass sie direkt zu Ihrem js/css code files

ein weiterer Tipp lagere sie nicht in normalen Plätzen und verwenden sie keine gemeinsamen Namen EG-Skripte in/scripts/CSS in/style/oder style.css

Hier ist ein Beispiel des Laders Verschluss ist dann Obfuscated Zusammengestellt

Loader.js

var _0xc596=["\x68\x65\x61\x64","\x73\x63\x72\x69\x70\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x79\x70\x65","\x74\x65\x78\x74\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74","\x61\x74\x74\x72","\x73\x72\x63","\x6C\x6F\x61\x64\x65\x64","\x6C\x6F\x61\x64\x65\x72","\x61\x70\x70\x65\x6E\x64","\x6C\x69\x6E\x6B","\x72\x65\x6C","\x73\x74\x79\x6C\x65\x73\x68\x65\x65\x74","\x74\x65\x78\x74\x2F\x63\x73\x73","\x68\x72\x65\x66","\x73\x74\x79\x6C\x65","\x63\x73\x73","\x70\x61\x74\x68\x2F\x74\x6F\x2F\x79\x6F\x75\x72\x2E\x63\x73\x73","\x70\x61\x74\x68\x2F\x74\x6F\x2F\x73\x63\x72\x69\x70\x74\x2E\x6A\x73","\x75\x6E\x6C\x6F\x61\x64\x65\x72\x2E\x6A\x73"];(function (_0x76e5x1){function _0x76e5x2(_0x76e5x2,_0x76e5x3){var _0x76e5x4=_0x76e5x1(_0xc596[0])[0];switch(_0x76e5x2){case _0xc596[1]:var _0x76e5x5=_0x76e5x1(document[_0xc596[2]](_0xc596[1]));_0x76e5x5[_0xc596[5]](_0xc596[3],_0xc596[4]);_0x76e5x5[_0xc596[5]](_0xc596[6],_0x76e5x3);_0x76e5x5[_0xc596[5]](_0xc596[7],_0xc596[8]);_0x76e5x1(_0x76e5x4)[_0xc596[9]](_0x76e5x5);;case _0xc596[15]:_0x76e5x5=_0x76e5x1(document[_0xc596[2]](_0xc596[10]));_0x76e5x5[_0xc596[5]](_0xc596[11],_0xc596[12]);_0x76e5x5[_0xc596[5]](_0xc596[3],_0xc596[13]);_0x76e5x5[_0xc596[5]](_0xc596[7],_0xc596[8]);_0x76e5x5[_0xc596[5]](_0xc596[14],_0x76e5x3);_0x76e5x1(_0x76e5x4)[_0xc596[9]](_0x76e5x5);;} ;} ;_0x76e5x2(_0xc596[16],_0xc596[17]);_0x76e5x2(_0xc596[1],_0xc596[18]);_0x76e5x2(_0xc596[1],_0xc596[19]);})(jQuery); 

unloader.js

var _0xc2fb=["\x72\x65\x6D\x6F\x76\x65","\x68\x65\x61\x64\x20\x2A\x5B\x6C\x6F\x61\x64\x65\x64\x3D\x6C\x6F\x61\x64\x65\x72\x5D"];(function (_0x3db3x1){_0x3db3x1(_0xc2fb[1])[_0xc2fb[0]]();})(jQuery); 

zu reproduzieren von zu: http://closure-compiler.appspot.com/home setzen Sie den Code in unter // ADD HIER UM IHREN CODE

Dann wird das Ergebnis, das wieder Verwendung gegeben: http://www.javascriptobfuscator.com/Default.aspx zu machen, noch unlesbarer.

hoffe, das hilft jemand anderes die JS zu machen suchen, um so sicher wie möglich

Aber bitte denken Sie daran, wie jeder andere gesagt hat, wird dies nicht die Pro Hacker halten nur sehr schwer zu lesen und zu verstehen

+0

Danach entschied ich mich, eine vollständige Anleitung auf meinem Blog zu pruefen: http://blog.123torrentz.com/2012/06/prevent-firebug-or-inspectors-from.html – HotHeadMartin

0

Mein Ruf ist zu niedrig, um etwas zu kommentieren, aber ich wollte nur auf etwas hinweisen, das mir nach dem Lernen von window.history.pushState() aufgefallen ist; es scheint, dass Sie ändern können, was sich derzeit in der Adressleiste befindet, und sobald Sie das tun, funktioniert "Seitenquelle anzeigen" nicht. Also, wenn es eine Möglichkeit gäbe, Entwicklerwerkzeuge zu blockieren, würde ich nicht wissen, wie man den Quellcode sieht.

EDIT: Nach der Verwendung von window.history.pushState(), wenn ich Entwickler-Tools anzeigen, sagt es mir, die Seite neu zu laden, was in einer Javascript-Datei ist (aber wiederum zeigt es die Adresse der JS-Datei das hilft also nicht viel)

Verwandte Themen