Servus, ich habe auf meinem ESP8266 einen kleinen Webserver laufen, der mit HTML und JavaScript Zugriff auf einen MQTT Broker zulässt. Soweit läuft alles gut. Allerdings sind sämtliche Parameter für den Zugriff auf den MQTT Server in JS als Parameter abgelegt und damit für den Anwender lesbar. JS an sich bietet ja keine echte Möglichkeit Parameter versteckt zu handhaben (ausser vielleicht als Hash). Hat jemand Erfahrung mit dieser Problemstellung? Also wie biete ich die Möglichkeit, bei der Nutzung von JS Parameter "versteckt" zu übergeben. Eine Art INI-File oder so... Da ich die Daten via SPIFF nutze, wäre das Ini-File legitim und - solange nicht direkt sichtbar- auch in dem Fall sicher genug. Danke! Jörg
TR.0LL schrieb: > Daten bei bedarf nachladen. Respekt TR.0LL - das ist der Grund warum Foren wie dieses immer mehr zu einem unnötigen Tummelplatz von gelangweilten Usern verkommt, die anstatt zu helfen nutzlose Info posen. Was soll der OP mit dieser Antwort anfangen? Dann doch lieber nichts sagen - frei nach dem Nuhr'schen Prinzip "Wenn man keine Ahnung hat, einfach mal die F...e halten!"
Jörg schrieb: > Servus, > > ich habe auf meinem ESP8266 einen kleinen Webserver laufen, der mit HTML > und JavaScript Zugriff auf einen MQTT Broker zulässt. Soweit läuft alles > gut. Allerdings sind sämtliche Parameter für den Zugriff auf den MQTT > Server in JS als Parameter abgelegt und damit für den Anwender lesbar. Wo? Im Code des ESP dann kannst du das so vielleicht verstecken oder im C-Code einbauen. Oder im Browser des Nutzers, da macht das keinen Sinn denn einer der sich dafür interessiert und sich auskennt um das in der JS Datei zu finden, der sieht auch welche Daten du von dort nachlädtst und kann das ebenfalls tun. > JS an sich bietet ja keine echte Möglichkeit Parameter versteckt zu > handhaben (ausser vielleicht als Hash). Wie übergibst du denn per GET in der URL? Sascha
also gerade ist das Konzept folgendermaßen: - das Programm steuert auf dem ESP8266 einen LED Matrix (MAX7219), den anzuzeigenden Text bekomme ich aus dem MQTT Broker. Hier greife ich nicht zu sprich läuft alles "im" ESP - das HTML Programm läuft aus dem Speicher auf dem ESP (-> SPIFF) und stellt die das Benutzerinterface dar. Eingaben werden per JS aufbereitet und an den Broker gesandt. - einen unmittelbare Kommunikation ESP (C-Programm) <-> HTML/JS gibt es nicht ergo kein GET/POST - im JS Code sind die Parameter für den MQTT Zugriff noch in Klartext vorhanden, deshalb meine Fragestellung Hoffe das hilft zum Verständnis Jörg
kreativ in Blöcken dargestellt sieht es wie beigefügt aus
Falls es nur darum geht, die Parameter aus der URL zu bekommen: POST. Der Browser gehört aber deinem Anwender, der kann mit Lust und Laune alles auslesen. Falls das kritisch ist musst du dir etwas anderes einfallen lassen, z.B. Berechtigungsprüfung am Server.
Habe ich das so richtig verstanden? 1. Die LED-Matrix wird vom ESP8266 angesteuert. 2. Die Daten bzw. der Text, der angezeigt werden soll, soll die LED-Matrix bzw. der ESP8266 von einem MQTT-Broker bekommen. 3. Auf dem ESP8266 läuft weiterhin ein Webserver, von den man eine Benutzeroberfläche für das Ganze abrufen kann, also z.B. um einen neuen Text einzustellen. 4. Diese webbasierte Benutzeroberfläche funktioniert folgendermassen: Der Webbrowser der Benutzers, der diese Webseite vom ESP8266 abgerufen hat, baut eine Verbindung zum MQTT-Broker auf, über den die LED-Matrix gesteuert wird. Da der MQTT-Broker abgesichert ist, werden die nötigen Informationen (IP-Adresse des MQTT-Brokers, Benutzername und Passwort zum Zugriff auf den Broker) an den Benutzer bzw. dessen Webbrowser übertragen. 5. Genau das gefällt Dir nicht - es soll den Benutzern der Benutzeroberflächen-Webseite zwar möglich sein, die LED-Matrix zu steuern, sie sollen aber nicht (durch Analyse des HTML-/Javascript-Quellcodes) an die Zugangsdaten des MQTT-Brokers gelangen können. Falls ich das richtig verstanden habe, bleibt Dir imho nur eine Möglichkeit: Dass Du das Verfahren dahingehend änderst, dass der Webbrowser der Benutzer eben nicht direkt mit dem MQTT-Broker kommuniziert/keine Verbindung zu diesem aufbaut. Die einfachste Möglichkeit dazu wäre wohl, dass der Webbrowser seine Daten eben doch per GET/POST an den ESP8266 schickt, und dieser dann die per GET/POST empfangenen Daten an den MQTT-Broker weiterleitet.
Jörg schrieb: > kreativ in Blöcken dargestellt sieht es wie beigefügt aus Zu welchem Zweck kommuniziert der Browser mit dem Broker wenn es sich nur um ein Benutzerinterface für der ESP handelt? Sascha
Dein Lösungsansatz beinhaltet "Security by Obscurity". Solange es IT gibt, was das noch nie eine gute Idee. Dein Programm würde keinen ernsthaften Security Audit überlegen. Da kannst du es besser gleich bleiben lassen und lieber auf Transparenz setzen.
Sascha W. schrieb: > Zu welchem Zweck kommuniziert der Browser mit dem Broker wenn es sich > nur um ein Benutzerinterface für der ESP handelt? Ich gestehe, dass mein Ansatz nicht der beste ist und "historisch" gewachsen; JS schien mir in der Anwendung als elegante Lösung. Werde wohl mein Konzept überarbeiten und mit GET/POST arbeiten. Stefan ⛄ F. schrieb: > Dein Programm würde keinen ernsthaften Security Audit überlegen Jep, stimme zu, war aber auch nie meine Absicht Danke für Eure Hinweise und Tipps
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.