Support von POST in FHEMWEB für Extensions

Begonnen von Loredo, 09 Januar 2014, 09:22:21

Vorheriges Thema - Nächstes Thema

Loredo

Hallo,


ich habe gestern mein Modul für Geofancy.com hochgeladen. Derzeit kann es nur mit GET Unterstützung aufwarten, weil POST in FHEMWEB wohl nicht implementiert ist.
Die Sicherheit ist aber genau genommen mit GET nur bedingt vorhanden, weil die Nutzdaten damit trotz SSL Verschlüsselung dann immer noch unverschlüsselt übertragen werden.


Bestünde die Möglichkeit in absehbarer Zeit auch POST für die FHEMWEB Extensions bereitzustellen?




Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rudolfkoenig

ZitatDerzeit kann es nur mit GET Unterstützung aufwarten, weil POST in FHEMWEB wohl nicht implementiert ist.
Die Sicherheit ist aber genau genommen mit GET nur bedingt vorhanden, weil die Nutzdaten damit trotz SSL Verschlüsselung dann immer noch unverschlüsselt übertragen werden.

Das waren zwei falsche Aussagen.

Dirk

Hallo Julian,

auch Nutzerdaten die per GET an einen Server per HTTP übertragen werden sind verschlüsselt.
Der einzige Nachteil dieses Verfahrens ist, dass die Daten dann auch im Serverlogfile auftauchen.
Wenn man aber Zugriff auf den Server hat, kann man auch POST abfangen.

Gruß
Dirk

Loredo

Ok, ich habe mich ungeschickt ausgedrückt.
Die URI taucht in Logs auf, ja. Für mich ist das keine vollständige Verschlüsselung. Da gehen die Ansichten wohl auseinander.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Zitat von: rudolfkoenig am 09 Januar 2014, 09:33:43
Das waren zwei falsche Aussagen.


Kannst du erklären, wie ich dann als FHEMWEBEXT die per POST übertragenen Daten bekomme?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rudolfkoenig


Loredo

Zitat von: rudolfkoenig am 09 Januar 2014, 10:11:19
Genauso wie beim GET.


Das würde bedingen, dass ich den Content auch einfach als Parameter übergeben bekommen würde. Demnach würde es gar keinen Unterschied für mich machen, ob nun POST oder GET - das tut es aber. Schicke ich Daten per POST statt GET, bekomme ich keine Parameter an meine Funktion übergeben. Daher die Frage, in welchem globalen Hash ich manuell den POST Inhalt abfrage.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rudolfkoenig

ZitatDemnach würde es gar keinen Unterschied für mich machen, ob nun POST oder GET
Sag ich doch, habs gerade auch geprueft (grrr)

ZitatDaher die Frage, in welchem globalen Hash ich manuell den POST Inhalt abfrage.
$data{FWEXT}{XXX}{FUNC} wird mit dem Daten (egal ob diese aus dem URL (GET) oder Content (POST) oder gemischt kommen), aufgerufen. Man kann die Daten mit FW_digestCgi parsen, dann sitzen die Parameter einzeln im %FW_webArgs

FHEMWEB default ist seit laengerem (August?) POST ($FW_formmethod = "post")

Loredo

#8
Ah, jetzt habe ich den Fehler.


FHEMWEB gibt den Request leicht unterschiedlich zurück.


Per GET bekomme ich:

/geo?device=xyz&latitude=123&longitude=123&trigger=test


Per POST bekomme ich:



/geo&device=xyz&latitude=123&longitude=123&trigger=test



Demnach sollte ggf. das erste & bei der POST Rückgabe auch durch ein ? ausgetauscht werden? Oder soll das explizit so sein?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

akw

Ich habe eine Frage:

Seit wann genau funktioniert POST in FHEMWEB?
Ich habe in FHEMobile die Anfragen von GET auf POST umgestellt, nachdem ich mit der Version 5.5 und der SVN-Version getestet habe. Leider scheinen einige User nun Probleme zu haben.
Ich würde gerne wissen, was die Minimum-Version dafür ist.

Ciao, Arno
FHEM-SVN auf MacMini OSX 10.7.5

FS20,FHT,HMS,CUL_WS,CUL_HM,KS300,HUE,FB_DECT

FHEMobile: www.fhemobile.de

rudolfkoenig

Laut "svn log FHEM/01_FHEMWEB.pm" seit r3459/2013-07-20:
ZitatFHEMWEB: <form> is using now the POST method


akw

Danke Rudi,

leider hat FHEM 5.4 wohl dieses Feature noch nicht und es gibt scheinbar zahlreiche User, die nicht auf FHEM 5.5 aktualisiert haben, so dass bei denen die aktuelle Version von FHEMobile nicht mehr läuft. Sehr unangenehm...

Gibt es eine Möglichkeit die älteren (stabilen) FHEM-Version herunterzuladen? (SVN-Tags/Branches o.ä?)

Viele Grüße,
Arno


EDIT: Hab die SVN TAGs schon gefunden! Danke!
FHEM-SVN auf MacMini OSX 10.7.5

FS20,FHT,HMS,CUL_WS,CUL_HM,KS300,HUE,FB_DECT

FHEMobile: www.fhemobile.de

rudolfkoenig

Statt in FHEMobile auf Kompatibilitaet zu setzen, wuerde ich FHEM 5.5 als Mindestanforderung definieren.
Vermutlich ist das aber ein Problem fuer automatische Updates.

akw

Hi Rudolf!

Ganz meine Meinung! Aber leider sehen die User das anders, es hagelt Schelte :-/
Ich habe mir jetzt einen Satz verschiedener alter FHEM-Version zurechtgemacht, aber nervig ist das schon...

Ciao, Arno
FHEM-SVN auf MacMini OSX 10.7.5

FS20,FHT,HMS,CUL_WS,CUL_HM,KS300,HUE,FB_DECT

FHEMobile: www.fhemobile.de