frog: JavaScript deaktivieren

Hallo Zusammen!

Ich möchte gerne eine Webseite mit Javascript programmieren. Da ich das zum ersten mal mach und ich mich noch nicht so gut auskenne, hab ich eine Frage dazu:

Warum deaktivieren einige User im Browser das Javascript?

Jetzt weiss ich, das JS nicht sicher sein soll, aber wo ich auch nachlese, ist es immer auf das Backend bezogen. (z.B. XSS-Attacken). D.h., wenn ich in meinem JS keine Benutzereingaben mit Logins, Suchfunktionen etc. hab, kann ja eigentlich nix passieren? Irgendwas krieg ich da nicht auf die Reihe, vielleicht kann mir ja jemand weiterhelfen!

Danke im Voraus!

  1. Hallo,

    Ich möchte gerne eine Webseite mit Javascript programmieren.

    das ist entweder unglücklich formuliert oder der falsche Ansatz. Prinzipiell möchtest du eine Webseite (oder Website?) erstellen, und die Basistechnologie dafür ist zunächst mal HTML und CSS.

    Darauf kannst du dann mit Javascript aufbauen und besondere Features, Effekte, Komfortfunktionen oder komplexe Benutzer-Interaktionen realisieren.

    Warum deaktivieren einige User im Browser das Javascript?

    Ich habe das früher vor allem deshalb gemacht, weil mit Javascript gern auch Effekte realisiert wurden, die ich nicht mochte, die mir im Extremfall sogar auf die Nerven gingen. Und in geringem Umfang ist das auch heute noch so - allerdings wird Javascript inzwischen an so vielen Stellen vorausgesetzt, dass man ohne manchmal ziemlich dumm dasteht.

    Jetzt weiss ich, das JS nicht sicher sein soll

    Kann man so pauschal nicht sagen. Javascript läuft in einer recht gut verriegelten und verrammelten Sandbox, aus der es nur unter bestimmten Bedingungen überhaupt ausbrechen kann.

    Das Argument, Javascript sei ein Sicherheitsrisiko, geht vor allem auf ältere Versionen des Internet Explorers zurück. In IE4, teilweise sogar noch IE6, konnte JScript, die Microsoft-spezifische Implementierung von Javascript, mit proprietären Objekten und in Verbindung mit ActiveX auch auf Interna des Systems zugreifen - konnte beispielsweise auf beliebige Dateien zugreifen und die Windows-Registry lesen und auch schreiben. Das war wirklich noch ein Sicherheitsrisiko, und zu der Zeit hat sogar Microsoft gelegentlich empfohlen, Javascript "sicherheitshalber" zu deaktivieren (weil die nicht in der Lage waren, die eigentliche Sicherheitslücke zu flicken).

    Das dürfte aber heute kein Thema mehr sein, zumal das Deaktivieren von Javascript in den heutigen Browsern schon recht knifflig ist und tiefe Eingriffe in die Browserkonfiguration erfordert.

    Live long and pros healthy,
     Martin

    --
    Wer respektiert werden will, sollte zunächst damit anfangen, andere zu respektieren.
    1. Ich möchte gerne eine Webseite mit Javascript programmieren.

      das ist entweder unglücklich formuliert oder der falsche Ansatz. Prinzipiell möchtest du eine Webseite (oder Website?) erstellen, und die Basistechnologie dafür ist zunächst mal HTML und CSS.

      Darauf kannst du dann mit Javascript aufbauen und besondere Features, Effekte, Komfortfunktionen oder komplexe Benutzer-Interaktionen realisieren.

      Das kann man meines Erachtens so pauschal nicht sagen. Er kann beispielsweise das ganze genauso gut von Anfang an als React-Anwendung konzipieren und programmieren. Und da steht dann JavaScript am Anfang.

      1. Hi there,

        Darauf kannst du dann mit Javascript aufbauen und besondere Features, Effekte, Komfortfunktionen oder komplexe Benutzer-Interaktionen realisieren.

        Das kann man meines Erachtens so pauschal nicht sagen. Er kann beispielsweise das ganze genauso gut von Anfang an als React-Anwendung konzipieren und programmieren. Und da steht dann JavaScript am Anfang.

        Natürlich kann man Webseiten ausschliesslich mit Javascript realisieren, auch ohne React, aber wie wahrscheinlich ist so ein Szenario bei jemandem, der in seinem Ausgangsposting behauptet, sich "nicht so gut" auszukennen...?

    2. Servus!

      Warum deaktivieren einige User im Browser das Javascript?

      Ich habe das früher vor allem deshalb gemacht, weil mit Javascript gern auch Effekte realisiert wurden, die ich nicht mochte, die mir im Extremfall sogar auf die Nerven gingen. Und in geringem Umfang ist das auch heute noch so - allerdings wird Javascript inzwischen an so vielen Stellen vorausgesetzt, dass man ohne manchmal ziemlich dumm dasteht.

      Jetzt weiss ich, das JS nicht sicher sein soll

      Kann man so pauschal nicht sagen. Javascript läuft in einer recht gut verriegelten und verrammelten Sandbox, aus der es nur unter bestimmten Bedingungen überhaupt ausbrechen kann.

      In diesem Wiki-Artikel werden die verschiedenen Sicherheitskonzepte und die vorher bestehenden Problematiken beleuchtet:

      Das Argument, Javascript sei ein Sicherheitsrisiko, geht vor allem auf ältere Versionen des Internet Explorers zurück. In IE4, teilweise sogar noch IE6, konnte JScript, die Microsoft-spezifische Implementierung von Javascript, mit proprietären Objekten und in Verbindung mit ActiveX auch auf Interna des Systems zugreifen - konnte beispielsweise auf beliebige Dateien zugreifen und die Windows-Registry lesen und auch schreiben. Das war wirklich noch ein Sicherheitsrisiko, und zu der Zeit hat sogar Microsoft gelegentlich empfohlen, Javascript "sicherheitshalber" zu deaktivieren (weil die nicht in der Lage waren, die eigentliche Sicherheitslücke zu flicken).

      Das dürfte aber heute kein Thema mehr sein, zumal das Deaktivieren von Javascript in den heutigen Browsern schon recht knifflig ist und tiefe Eingriffe in die Browserkonfiguration erfordert.

      Genau!

      Herzliche Grüße

      Matthias Scharwies

      --
      Einfach mal was von der ToDo-Liste auf die Was-Solls-Liste setzen.“
  2. Hi there,

    Ich möchte gerne eine Webseite mit Javascript programmieren. Da ich das zum ersten mal mach und ich mich noch nicht so gut auskenne, hab ich eine Frage dazu:

    Da stellt sich schon einmal die Frage: was hast Du vor? Webseiten werden an sich nicht "programmiert" sondern gestaltet und Javascript benötigt man normalerweise nur, um zusätzliche Funktionalitäten zu implementieren. Wenn Du also "nur" gerne eine Seite machen möchtest und keine Applikation oder irgendeine Spiel, dann ist Javascript das letzte, woran Du bei der Erstellung denken solltest.

    Warum deaktivieren einige User im Browser das Javascript?

    Davon gibts jetzt nicht viele. Gründe sind auch vielfältig: Sicherheitsbestimmungen in der Firma, weniger (vor allem zappelnde) Werbung, schlichte Paranoia - wie gesagt, da gibts viele Gründe.

    Jetzt weiss ich, das JS nicht sicher sein soll, aber wo ich auch nachlese, ist es immer auf das Backend bezogen. (z.B. XSS-Attacken). D.h., wenn ich in meinem JS keine Benutzereingaben mit Logins, Suchfunktionen etc. hab, kann ja eigentlich nix passieren? Irgendwas krieg ich da nicht auf die Reihe, vielleicht kann mir ja jemand weiterhelfen!

    Passieren kann ohnehin nicht viel (naja, ausser man verwendet einen alten Internetexplorer). Wenn Du für Deine Seite wirklich Javascript benötigst, dann verwende es einfach. Du findest Dich in zahlreicher Gesellschaft, Milliarden Seiten setzen das ein, so schlimm kann's also gar nicht sein...

  3. Hallo frog,

    es gibt Seiten mit bösartigem JavaScript. Man kann da eine Menge Unheil anrichten, früher mehr als heute, weil die Browser die diversen Problemzonen Stück für Stück schließen, zum Leidwesen derer, die damit nützliche Dinge getan haben.

    XSS ist ein Problem. Nervige Werbepopups sind ein weiteres. Immerhin sind die Zeiten vorbei, wo ein stupides Script Dir den Bildschirm mit Fenstern zumüllen konnte, oder wo man im Internet Explorer mit dem FileSystemObject auf deiner Platte herumgraben konnte.

    Sich einen Virus durch Anschauen einer Seite mit bösem Script einzufangen dürfte sehr schwer geworden sein. Das Script muss dafür schon Bugs im Browser ausnutzen. Hoffe ich zumindest 😲

    Aber JavaScript hat dadurch einen schlechten Ruf und wird von paranoiden Leuten deshalb geblockt. Bzw. nur per Whitelist für ausgewählte Seiten erlaubt. Ich habe das eine Zeitlang auch gemacht, vor 15 Jahren oder so. Mittlerweile nicht mehr - ohne Script funktionieren zu viele Seiten einfach nicht mehr oder nur schlecht.

    wenn ich in meinem JS keine Benutzereingaben mit Logins, Suchfunktionen etc. hab

    Deinem JS solltest Du vertrauen können, wenn Du nicht blindlings unverstandenen Code zusammenkopierst - was leider gerne und oft gemacht wird. Das Problem von Benutzereingaben liegt nicht im JavaScript, denn Benutzereingaben werden am Server verarbeitet - und wenn dein Server korrekt programmiert ist, kann Dir niemand böses Zeug in die Seite injizieren. Das entsprechende Thema heißt Kontextwechsel - gemeint ist, dass man Zeichenketten nicht einfach durch die Gegend schieben darf. Wenn man SQL oder HTML generiert, muss man aufpassen, was man darin einbaut, und entsprechende Maskierungen durchführen. Die Server-Programmiersprachen bieten dafür entsprechende Tools. Bei PHP wären das die Escaping-Funktionen für SQL und htmlspecialchars für das Einbauen von Strings in HTML. Und dann ist alles gut.

    Rolf

    --
    sumpsi - posui - obstruxi
  4. Hallo

    Ich möchte gerne eine Webseite mit Javascript programmieren. Da ich das zum ersten mal mach und ich mich noch nicht so gut auskenne, hab ich eine Frage dazu:

    Warum deaktivieren einige User im Browser das Javascript?

    Benutzer deaktivieren JavaScript, weil …

    • … sie den durch viele Seitenanbieter eingebundene Software (JavaScript-Skripte) von Drittabietern (zum Beispiel Google, Facebook, etc.) nicht trauen,
    • … sie nicht wollen, dass durch die Einbindung von Skripten aus solchen Drittquellen, die halt auf vielen Seiten eingebunden werden, Rückschlüsse auf ihr Surfverhalten und ihre Interessen gezogen werden können,
    • … sie aus all diesen (und weiteren) Gründen den Seitenanbietern nicht vertrauen können, weil sie beim Seitenaufruf nicht wissen, welche Skripte dort ausgeführt werden sollen.

    Hinzu kommt, dass JavaScript nicht nur willentlich und gänzlich, sondern mit Browsererweiterungen auch selektiv abgeschaltet werden kann. So kann ich zum Beispiel mit NoScript im Firefox Skripte von der eigenen Seite zulassen, aber die, die von Facebook eingebunden werden, nicht.

    Und dann ist da noch die nicht unwahrscheinliche Möglichkeit, dass ich eine Seite aufrufe und während des Ladeprozesses ein Fehler auftritt (beispielsweise eine Unterbrechung der Internetverbindung), der dazu führt, dass das „Zubehör“ der Seite (Bilder, Skripte) nicht vollständig geladen werden und dann nicht funktionieren. Das passiert unterwegs oder auf dem letzten Dorf mit Mobilzugang ganz schnell mal.

    Wenn eine Seite oder teile einer Seite keine programmatische Unterstützung brauchen, sollen sie auch ohne diese auskommen. Wenn sie für bestimmte Funktionen einer Seite benötigt wird, dann geht es eben nicht ohne. Zumindest sollte dem Benutzer aber ohne Skript die Information, dass diese an der betreffenden Stelle benötigt werden, präsentiert werden. Nur wenig ist ärgerlicher, als vor einer leeren, weißen Seite zu sitzen und nicht zu wissen, ob etwas fehlt oder einfach nicht funktioniert. Noch ärgerlicher, wenn man (als Wissender) in den Quellcode der Seite schaut und sieht, dass alles da ist und aus Bequemlichkeit des Seitenerstellers vor einem verborgen wird.

    Oft gibt es aber Wege, beide Szenarien zu bedienen. Inhalt, der statisch oder vom Server zusammengestellt ausgeliefert werden kann, soll auch bitte so ausgeliefert werden. Sollen Elemente mit JavaScript interaktiv gemacht werden (beispielsweise eine ausklappbare Navigation um Platz zu sparen), kann ohne JavaSript in voller Größe angezeigt und nach dem laden der Skripte eingeklappt werden, um die anvisierte Platzersparnis zu erreichen. Ohne JS ist die Navigation immer noch erreichbar, sie nimmt dann halt mehr Platz ein. Dann muss der Besucher halt scrollen. Davon kommt keiner um. 🤷

    Es gibt also eine Menge abzuwägen. Welche Möglichkeiten existieren, was sinnvollerweise zu tun oder auch zu lassen ist, kommt auf das konkrete Projekt an.

    Tschö, Auge

    --
    200 ist das neue 35.
  5. ... an euch allen, Leute! Ihr habt mir meine Paranoia genommen. Das sind die Infos die ich gebraucht hab!!