T-Rex: Ratespielchen - woher kommt der Code (javascript im html)

Moin,

ich bin an einem neuen Projekt für mich. Meine Aufgabe ist es einen rechtlich sicheren Cookie-Banner zu bauen. Oberfläche und Verwaltung der User Einstellungen sind soweit fertig. Probleme bereitet es die vorhandenen Javascriptschnipsel erst aus zu lösen, nachdem der User seine Einstellungen gemacht hat - weil ich nicht weiß wo sie ins html geladen werden. Leider fehlt mir jeglicher Ansatz diese Schnipsel zu finden. Ich erhoffe mir hier nicht die Lösung, vielleicht habt ihr aber eine Idee oder einen Ansatz.

Zur Situation. Das Javascript steht leider direkt im html: <script>alert("Ein Beispiel!");</script>

Untersuche ich die Seite (strg+u)ist das Javascript bereits geladen. Daraus schließe ich, dass es nicht via Javascript nachgeladen wird. Ergo muss es in einem Template, html oder via php kommen.

In der Datenbank und im CMS habe ich die Schnipsel gefunden. Ich habe sie testweise durch mein eigenes js ersetzt und gespeichert. Auf der Webseite war keine Veränderung sichtbar. Caches habe ich sowohl im cms als auch im Browsergelöscht.

Ich hab das komplette Projekt via notepad++ durchsucht. Es wurden weder die Javascripte gefunden noch wurden Teile davon gefunden. Ergo ist es weder hardcodiert noch steht es in der Datenbank. Wie gesagt mir fehlt ein Ansatz ... :(

Gruß Ansatzloser T-Rex

  1. Hallo,

    Wie gesagt mir fehlt ein Ansatz ... :(

    Die Story klingt wie die Geschichte von dem Schlüsselsucher, der unter der Laterne sucht weil es da hell ist, den Schlüssel aber 10 Meter weit weg verloren hat. Bist du sicher, das was du änderst, dir auch anzuschauen?

    Gruß
    Kalk

    1. Die Frage stelle ich mir auch ständig. Wäre es mein eigenes System würde jetzt die 100% kommen (wobei ich dann erst gar nicht diesen Beitrag eröffnet hätte). So aber bin ich bei 80%. Alle anderen Änderungen die ich im cms gemacht habe wurden übernommen. Auf der anderen Seite habe ich noch keine Änderung an "dieser" Stelle gemacht.

      Gruß 80% T-Re

  2. Hallo T-Rex,

    Daraus schließe ich, dass es nicht via Javascript nachgeladen wird.

    Diese Folgerung ist nicht ganz valide.

    Man kann per JavaScript ein Script-Element erzeugen, das src Attribut setzen und das Script ins DOM hängen. Daraufhin wird es geladen und ausgeführt.

    Und das geht auch ohne src, dafür mit direktem Script-Inhalt:

    let s = document.createElement("script");
    s.innerText = "alert('Hello World');";
    document.body.appendChild(s);
    

    Sofort nach dem appendChild erscheint das Hello World Popup. Statt einer Stringkonstante könnte der innerText auch via Ajax befüllt werden. Oder aus unlesbaren Fragmenten zusammengestoppelt. Der Kreativität und Gemeinheit sind dabei wenig Grenzen gesetzt.

    Ich will nicht sagen, dass das bei Dir so ist. Aber es gibt eine Menge Möglichkeiten, das DOM obtrusiv aber unbemerkt mit Scripten zuzukleistern.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Das ist mir natürlich alles bekannt.

      Es ist aber so, dass mit der "view-source" Ansicht (strg+u) eben nur das rohe html angesehen werden kann ohne js Veränderung. Im Chrome Inspektor ist das eine ganz andere Geschichte. Hier sieht man jede Veränderung. Daraus schließe ich, dass der Code entweder blank irgendwo rumstehen muss oder via php zusammengebaut wird. Er wird nicht per script nachgeladen. Oder sehe ich das falsch?

      Gruß strg + T-Rex

      1. Hallo,

        Es ist aber so, dass mit der "view-source" Ansicht (strg+u) eben nur das rohe html angesehen werden kann ohne js Veränderung.

        ja, genau: Da siehst du den Quellcode, so wie er vom Server geliefert wurde.

        Im Chrome Inspektor ist das eine ganz andere Geschichte. Hier sieht man jede Veränderung.

        Auch richtig, der DOM-Inspector ist ein Live-Abbild des DOM.

        Daraus schließe ich, dass der Code entweder blank irgendwo rumstehen muss oder via php zusammengebaut wird.

        Wenn er mit PHP gebaut wird, müsste er auch im Browser-Quellcode sichtbar sein.

        Er wird nicht per script nachgeladen. Oder sehe ich das falsch?

        Wenn der Code-Schnipsel initial im Browser-Quellcode steht, kommt er so vom Server, wird also nicht per Script nachgeladen.

        Live long and pros healthy,
         Martin

        --
        Home is where my beer is.
  3. Lieber T-Rex,

    einen rechtlich sicheren Cookie-Banner

    was ist das denn? Ich kenne Cookies und Werbeflächen (aka Banner)...

    Liebe Grüße

    Felix Riesterer

    1. Hallo Felix Riesterer,

      was ist das denn? Ich kenne Cookies und Werbeflächen (aka Banner)...

      https://www.cookiebot.com/de/cookie-banner/

      Bis demnächst
      Matthias

      --
      Du kannst das Projekt SELFHTML unterstützen,
      indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
      1. Lieber Matthias,

        https://www.cookiebot.com/de/cookie-banner/

        ah, die aktuelle Ölpest wegen der DSGVO. Mag ein böses Vorurteil von mir sein, aber diese Geißel ist doch nur dann vonnöten, wenn man personenbezogene Daten über den offensichtlichen Sinn der Seite selbst hinaus verarbeiten möchte. Dass eine Website mit (Kunden-)Login nur dann technisch sinnvoll funktioniert, wenn man Cookies setzt, sollte doch unproblematisch sein. Da braucht es keine Cookie-Warnung. Nur wenn man aus Gründen wie z.B. pekuniärer Gier Daten an Dritte weiterleitet... Wie gesagt, mein Vorurteil, denn IANAL.

        Liebe Grüße

        Felix Riesterer