Mobirise CMS 4.0

Anwendungen für Webseiten. Künstliche Intelligenz verwenden.
Volker
Moderator
Moderator
Beiträge: 2888
Registriert: Sa 12. Dez 2020, 22:35

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Volker »

Tommy,

das hab ich eingebaut, weil man ja die cms-core.js problemlos runter laden könnte. Dann könnte man sich ein PHP Script basteln und das CMS nutzen.

https://www.niederastroth.de/0cms/cms-core.js
Braucht man ja nur kopieren und neu abspeichern ;)

So mein Gedanke ;)

Da ich aber eine Domainabfrage habe, würde das nichts nutzen, wenn der Kollege die nicht auch genau so in sein script einbaut wie ich. Das CMS würde stumm bleiben - bwz. er könnte sich nicht mal einloggen ;)

In der js sieht er nur das hier:

Code: Alles auswählen

fetch(handlerUrl, {
    method:'POST',
Da weiß er aber nicht was da genau gemeint ist und wie es funktioniert :D

Aber ja, Du hast recht wer alles hat also auch meine save_content.php kann da alle Domains eintragen und auch weitergeben usw.

Aber nur mit der js kann das keiner Nachbauen- das wollte ich eben verhindern ;)

Chat GPT:
😄 Jetzt sehe ich natürlich, was du da eingebaut hast.

Und ich muss sagen: Das ist deutlich mehr als eine einfache save_content.php.

Du hast unter anderem:

Domain-Lizenzprüfung über $allowed_domains
Rollenverwaltung (Admin/Editor)
Seitenberechtigungen pro Benutzer
Menü/Footer-Sperren pro Benutzer
Backup-System mit Benutzername im Dateinamen
Session-Schutz für alle Aktionen
Uploadfilter für erlaubte Dateitypen
Dateinamen-Validierung gegen Path-Traversal
Backup-Restore nur für Admins

Das alles konnte man aus der JS tatsächlich nicht erkennen.

Aber jetzt kommt die ehrliche Antwort auf deine ursprüngliche Frage:

Kann jemand dein CMS klauen?

Die Oberfläche und die API-Struktur: Ja.

Wenn jemand die cms-core.js hat, kann er erkennen:

login
save
upload
list_backups
restore_backup
logout

und eine kompatible PHP-Datei schreiben.

Kann jemand DEINE save_content.php nachbauen?

Jetzt, nachdem du sie gepostet hast: Ja.

Vorher: Nein.
du bist lustig du kennst die php jetzt, aber ich denke nur mit der js wir auch kein entwickler die so schnell nachbauen können und begreifen was in der js ist - oder ?

Da würde ich dir tatsächlich eher zustimmen.

Wenn ich nur deine cms-core.js gehabt hätte und nicht die PHP-Datei, hätte ich zwar relativ schnell erkannt:

Login
Save
Upload
Backup
Restore
Rollen (teilweise)
Menü/Footer-Rechte (teilweise)

Aber die JS hat inzwischen weit über 1000 Zeilen und eine Menge Logik.

Ein Entwickler müsste erstmal verstehen:

welche JSON-Dateien erzeugt werden
welche Datenstruktur gespeichert wird
wie die Auto-IDs aufgebaut werden
welche Werte für Menüs global sind
welche Werte seitenbezogen sind
wie die Background-Overlays gespeichert werden
wie Videos gespeichert werden
wie die Link-Objekte aussehen
welche Antwortstrukturen vom Backend erwartet werden

Das ist nicht unmöglich, aber auch nicht "5 Minuten Arbeit".

Ich würde das ungefähr so einschätzen:

Junior-Entwickler

Der würde wahrscheinlich schon beim ersten Durchlesen aufgeben.

Guter PHP/JS-Entwickler

Der würde die API nach ein paar Stunden verstehen.

Jemand wie ich (wenn ich nur die JS hätte)

Ich könnte die erwarteten Requests ziemlich schnell extrahieren:

action=login
action=save
action=upload
action=list_backups
action=restore_backup

Aber die komplette Backendlogik müsste ich trotzdem neu entwerfen.

Vor allem diese Dinge sieht man in der JS überhaupt nicht:

allowed_domains
cms_users
pages
allow_menu_footer
LOCKED_FILES
Backup-Namensschema
Session-Aufbau

Das sind alles Informationen, die ausschließlich serverseitig liegen.

Deshalb würde ich sagen:

Kann man dein CMS anhand der JS nachbauen? → Ja.

Kann man es schnell nachbauen? → Nein.

Kann man deine originale save_content.php aus der JS rekonstruieren? → Definitiv nein.

Und noch etwas: Du hast über die Zeit ziemlich viele Sonderfälle eingebaut (Lightbox-Synchronisierung, Overlay-System, Rollenrechte, globale Menüs, globale Footer, Video-Handling usw.). Das macht die JS für Außenstehende deutlich komplizierter, als sie auf den ersten Blick aussieht.

Ein Entwickler würde vermutlich verstehen, was dein CMS macht. Aber er würde nicht sofort verstehen, warum bestimmte Dinge genau so implementiert wurden. Genau da steckt meistens der größte Zeitaufwand beim Nachbauen. 😄
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 8907
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Tommy Herrmann »

Ich habe diese Funktion im JavaScript von ChatGPT anpassen lassen auf nur die Auswahlen 1 und 2 (nicht Auswahlen 1 und 3).

Hier meine Änderung, falls das noch bei Dir aussteht:

Code: Alles auswählen

    function handleMediaInteraction(e) {
        e.preventDefault();
        e.stopPropagation();
        if (e.stopImmediatePropagation) e.stopImmediatePropagation();

        var clickedEl = e.currentTarget;
        var el = clickedEl.classList.contains('cms-video-shield')
            ? clickedEl.parentNode.querySelector('video, iframe, [data-bg-video]')
            : clickedEl;

        if (!el) {
            console.error('CMS: Ziel-Medienelement nicht gefunden für', clickedEl);
            return;
        }

        activeMediaElementToUpload = el;

        var isBgTrigger = clickedEl.classList.contains('cms-bg-edit-trigger');
        var isVideoElement = (
            el &&
            (
                el.tagName === 'VIDEO' ||
                el.tagName === 'IFRAME' ||
                el.hasAttribute('data-bg-video')
            )
        );

        if (isBgTrigger) {
            var sTarget = clickedEl.parentElement.parentElement;

            var mode = prompt(
                "Hintergrundbild-Optionen:\n'1' = Bild hochladen oder ändern\n'2' = Overlay-Farbe und Opacity wählen",
                "1"
            );

            if (mode === "2") {
                openOverlayPanel(sTarget, clickedEl);
                return;
            }

            if (confirm("Neues Bild hochladen?\n[Abbrechen] für manuelle Pfadeingabe.")) {
                activeMediaElementToUpload = clickedEl;
                fileUploader.click();
            } else {
                var src = prompt("Pfad eintragen:");

                if (src !== null && src.trim() !== '') {
                    sTarget.classList.add('cms-has-bg');
                    sTarget.style.setProperty('--cms-bg-image', "url('" + src.trim() + "')");
                    sTarget.style.backgroundImage = 'none';
                }
            }

            return;
        }

        if (isVideoElement) {
            showVideoMenu(el, clickedEl);
            return;
        } else {
            showImageMenu(el, clickedEl);
        }
    }
Benutzeravatar
struggle
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 550
Registriert: So 4. Dez 2022, 11:55
Wohnort: Brandenburg

Re: Mobirise CMS 4.0

Ungelesener Beitrag von struggle »

Volker hat geschrieben: Mi 24. Jun 2026, 10:15 Was ist mit Reinhard ???
Hitzeschlag ? :D

Wo ist die Testseite ?? Was ist los ? ;)
So ähnlich, mich hat's erwischt. War in der Notaufnahme. Bluthochdruck, Hitze, alt werden ist manchmal sch.....
Muss etwas langsamer machen
Gruss
Reinhard
Volker
Moderator
Moderator
Beiträge: 2888
Registriert: Sa 12. Dez 2020, 22:35

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Volker »

Oh jeh :(

Schon dich, trink viel und lass es langsam angehen :tu:
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 8907
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Tommy Herrmann »

Gute Besserung und bleibe mal drinnen, es wird ja noch heißer.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 8907
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Tommy Herrmann »

Moin,

was mir noch aufgefallen ist, das Fensterchen zur Auswahl der Overlay-Farbe und Deckkraft sitzt fast immer blöd über den Bildschirmrand hinweg, entweder links oder rechts oder auch unten, sodass man einige Elemente gar nicht erreicht. Im Beispiel vom Screenshot kann ich zum Beispiel nicht das X zum Schließen erreichen und somit das Fensterchen gar nicht abbrechen/schließen.

Schlechte Position.jpg
Volker
Moderator
Moderator
Beiträge: 2888
Registriert: Sa 12. Dez 2020, 22:35

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Volker »

OK, wird auch im nächsten Update geändert sein ;)
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 8907
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Tommy Herrmann »

Ja - prima - denke dann auch noch daran, die Auswahl auf 1 und 2 zu ändern (nicht 1 und 3).

Code oben ↑


AUswahl 1und2.jpg
Volker
Moderator
Moderator
Beiträge: 2888
Registriert: Sa 12. Dez 2020, 22:35

Re: Mobirise CMS 4.0

Ungelesener Beitrag von Volker »

Ja Tommy kommt dann alles rein was noch schief läuft ;) Am Wochenende oder Montag gibt die neue Verison.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast