Ergebnis 1 bis 4 von 4
  1. #1
    ramin ist offline Grünschnabel
    registriert
    06-09-2011
    Beiträge
    5

    HTML-Inhalt mit Javascrpt versteckt?

    Hallo! Zunächst: ich bin Physiklehrer und habe nicht soviel Ahnung von Web-Programmierung. Bitte daher im Vorfeld schon um Entschuldigung.

    Das Vertretungsplan-Programm stellt den Vertretungsplan online zur Verfügung; allerdings möchte ich das für unsere Schulhomepage anpassen und deshalb den Inhalt extrahieren. Wenn ich allerdings den Seitenquelltext öffne, finde ich keinen HTML-Inhalt sondern nur Javascrpt.
    Meine Frage: ich würde gerne den HTML-Teil saugen, damit ich diesen auswerten und in angepasster Form auf der Schulhomepage ausgeben kann. Die $_Post-Einträge sind dabei wichtig.

    https://nessa.webuntis.com/WebUntis/...Homepage_Tag_1

    Hat jemand einen Tipp?
    Das habe ich schon erfolglos getestet - "Zugriff verweigert"

    PHP-Code:
    <?php
    $ch 
    curl_init("https://nessa.webuntis.com/WebUntis/monitor"); // cURL ínitialisieren
    curl_setopt($chCURLOPT_HEADER0); // Header soll nicht in Ausgabe enthalten sein
    curl_setopt($chCURLOPT_POST1); // POST-Request wird abgesetzt
    curl_setopt($chCURLOPT_POSTFIELDS'school=gym-petershagen&monitorType=subst&format=Homepage_Tag_1'); // POST-Felder festlegen, die gesendet werden sollen
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_exec($ch); // Ausführen
    curl_close($ch); // Objekt schließen und Ressourcen freigeben
    ?>
    Viele Grüße
    Ramin
    Geändert von mikdoe (13-09-2020 um 08:44 Uhr) Grund: Code Tags

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.779

    AW: HTML-Inhalt mit Javascrpt versteckt?

    Hi!
    Es gibt zwei Wege wie die Daten auf den Client gelangen: im Rahmen der "normalen" Request-Response-Abfolge beim initialen Laden der Webseite oder nachträglich über eine AJAX-Request-Response-Abfolge.
    Beides kommt aber irgend wo aus dem Backend. Wenn du das mit PHP (weil du PHP zeigst) lösen willst, musst du direkt an das Backend gehen, Datenbank oder was auch immer, weil PHP auf dem Server ausgeführt wird. Dieses geht natürlich nur, wenn die Maschine an die Quelle dran kommt und nicht mit Zugriffsfehler abgewiesen wird.

    Möchtest du es mit JS (weil du hier im JS Forum fragst) laden, musst du den Request machen, den der Browser auch auf der Originalseite macht, weil JS im Browser auf dem Client ausgeführt wird. Und da die Tabelle hinter deinem Beispiellink im Quelltext nicht zu sehen ist, wird sie zwangsläufig per AJAX geladen. Du gehst also jetzt in den ganzen JS Quellcode Dateien (moment.min.js, wrapper.js, main.js usw.) auf Suche nach dem entscheidenden Request. Und den führst du dann auf der gewünschten Zielseite aus. Oder du fragst den Entwickler des Codes oder schaust in der Browserkonsole (F12) wann da was von wo geladen wird.
    Wichtig ist hier noch zu sagen, dass das Ganze im Gegensatz zur obigen PHP-Lösung nur innerhalb der SOP funktioniert, weil du hier einen Zugriffsfehler erwähnst.

    PHP: serverseitige Ausführung, Datenbankzugang und -berechtigung sind zwingend, Browser und SOP spielen keine Rolle
    JS: clientseitige Ausführung, SOP ist zwingend, Datenbank spielt keine Rolle

    Dein PHP curl Code ist eine Mischung. Es läuft serverseitig und verhält sich gegen das Ziel wie ein Browser. Wenn das kein Zugriff hat musst du mit dem Admin des Zielservers sprechen, wie der Zugriff gewährt werden kann.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  3. #3
    ramin ist offline Grünschnabel
    registriert
    06-09-2011
    Beiträge
    5

    AW: HTML-Inhalt mit Javascrpt versteckt?

    Hallo Mik,
    danke für die Antwort. Ich habe mein Problem noch nicht verständlich formuliert:
    ich habe keinen Zugriff auf den Server, sondern nur auf die ausgelieferte Seite. In dieser finde ich mich allerdings nicht zurecht, da ich weder HTML oder verständliche jSON-Requests finde, sondern nur kryptisches Javascript, das sicherlich die Seite irgendwie aufbaut. Und da liegt jetzt genau der Haken: Die Schulhomepage möchte den HTML-Inhalt der Seite per PHP laden und ich möchte den dann verarbeiten - letzteres ist kein Problem, wenn ich an die Seite in Ihrer HTML-Struktur komme. Hast du eine Idee?

    Danke!

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.779

    AW: HTML-Inhalt mit Javascrpt versteckt?

    Genau das habe ich beantwortet: suchen oder den Entwickler fragen. Mit Hilfe der Konsole sollte das aber schnell zu finden sein.

    Zitat Zitat von ramin Beitrag anzeigen
    da ich weder HTML oder verständliche jSON-Requests finde, sondern nur kryptisches Javascript
    In dem gezeigten Link ist zumindest schon mal nichts Kryptisches. Wenn etwas wirklich kryptisch Aussehendes kommt, muss das eben entschleiert werden, wirklich verschlüsselt im Wortsinn ist da nichts, sonst könnte der Browser es nicht darstellen.

    Sonst musst du mal an einem Beispiel zeigen, was du gefunden hast und als "kryptisches Javascript" bezeichnest.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

Ähnliche Themen

  1. Suche Javascrpt Text Generatoren
    Von yachubashi im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 02-06-2011, 14:06
  2. Überprüfung ob Element versteckt
    Von OnMario im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 23-11-2008, 12:38
  3. Ausführen von PHP in JSP versteckt...
    Von toxic im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 20-09-2007, 11:48
  4. daten versteckt und automatisch versenden
    Von wumble im Forum Serverseitige Programmierung
    Antworten: 5
    Letzter Beitrag: 27-02-2007, 10:47
  5. .cmd Datei aus JavaScrpt öffnen
    Von FduPin im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 19-07-2005, 21:48

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •