FHEM Forum

FHEM => Frontends => Thema gestartet von: KA2013 am 04 Februar 2013, 17:32:20

Titel: Webfront verriegeln / Passwort
Beitrag von: KA2013 am 04 Februar 2013, 17:32:20
Hallo zusammen,
ich möchte mein Webfront ins Netz weiterleiten via Portforwarding. Nur, gibts eine Möglichkeit das Webfront mit Passwort zu versehen damit mir nicht jeder das Licht aus und anmachen kann?
Gruß
Kai
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Dirk am 04 Februar 2013, 17:44:38
Hi KA2013,

zum Beispiel so:
attr WEB basicAuth { "$user:$password" eq "admin:secret" }
Siehe: http://fhem.de/commandref.html#FHEMWEB (//fhem.de/commandref.html#FHEMWEB)

Gruß
Dirk
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: KA2013 am 04 Februar 2013, 17:49:50
Trag ich das in die cfg ein???

Ich bin hier noch recht neu und hab da noch nicht so den wahnsinns durchblick was ich wo reinpacken muss, mit IPS wüsste ich es blind!
Daher sorry für die doofe Frage!
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Puschel74 am 04 Februar 2013, 18:01:37
Hallo,

ja, in die fhem.cfg als attr unter das define WEB ....

Grüße
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Zrrronggg! am 04 Februar 2013, 19:18:24
Hm.


Ich muss zugeben, ICH verstehe die Commandref da nicht.

Was bei mir aber geht ist der erste Teil, der da lautet:

Zitatrequest a username/password authentication for access. You have to set the basicAuth attribute to the Base64 encoded value of <user>:<password>, e.g.:
# Calculate first the encoded string with the commandline program
$ echo -n fhemuser:secret | base64
ZmhlbXVzZXI6c2VjcmV0
fhem.cfg:
attr WEB basicAuth ZmhlbXVzZXI6c2VjcmV0

Das habe ich konkret so gemacht:

MeinNutzer:Meinpasswort (nach belieben festlegen) als kompletten String inc Doppelpunkt hier eingeben:

http://www.patshaping.de/projekte/kleinkram/base64.php (//www.patshaping.de/projekte/kleinkram/base64.php)
Codieren drücken.

Das Resultat sieht dann z.b. so aus:

TnV0emVyOlBhc3N3b3J0
(natürlich kann jede andere Methode zum Base64 coding verwendet werden, war für mich das einfachste)


Das dann unter die Definition der WEBgui (heisst bei mir auch "WEBgui") als Attr eintragen:

attr WEBgui basicAuth TnV0emVyOlBhc3N3b3J0

Fertich.




Diesen Teil der command.ref:

ZitatIf the argument of basicAuth is enclosed in {}, then it will be evaluated, and the $user and $password variable
will be set to the values entered. If the return value is true, then the password will be accepted. Example:
attr WEB basicAuth { "$user:$password" eq "admin:secret" }

Hingegen verstehe ich nicht (was meint "evaluated" hier genau?) und kriege ich auch nicht zum fliegen.
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Dirk am 04 Februar 2013, 19:37:27
ZitatHingegen verstehe ich nicht (was meint "evaluated" hier genau?) und kriege ich auch nicht zum fliegen.
Das Bedeuted, daß der Inhalt zwischen {} Perl Code ist, und von Perl interpretiert wird. Das Ergebniss was dort steht muss "Wahr" zurück geben damit man "reingelassen" wird.

Trage einfach das aus dem Beispiel ein.attr WEB basicAuth { "$user:$password" eq "admin:secret" }admin:secret ersetzt du durch deinen_usernamen:dein_passwort

Gruß
Dirk
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Zrrronggg! am 06 Februar 2013, 16:25:23
ZitatTrage einfach das aus dem Beispiel ein.
attr WEB basicAuth { "$user:$password" eq "admin:secret" }
admin:secret ersetzt du durch deinen_usernamen:dein_passwort

Ja, das hab ich ja gemacht und es funktionierte nicht.
Ich habe mehrere Kominationen getestet, am Ende beides "123"... geht einfach nicht, es kommt immer die Meldung im Browser, Username oder PW sei falsch.
Die Methode mit Base64 hingegen klappte sofort.

Also für mich ist das gelöst, mich interessiert höchstens Akademisch, warum das nicht ging. Vielleicht haben andere das selbe Problem.

Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: rudolfkoenig am 06 Februar 2013, 19:05:07
Bei mir tut:

define WEB FHEMWEB 8083 global
attr WEB basicAuth { "$user:$password" eq "Hallo:Leute" }


Bitte Fehlermeldungen immer konkret mit Definitionen belegen, sonst glaubt es keiner (oder anders: es kann keiner nachvollziehen).
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Rohan am 06 Februar 2013, 21:15:09
Hmmm...

gerade das hier mal zum Anlass genommen mein FHEM abzusichern und in die fhem.cfg direkt unterhalb von

define WEB FHEMWEB 8083 global

folgendes (1:1, also Real-Text ähm Test ;) ist also in 1 Minute auf andere Werte gesetzt) eingetragen:

attr WEB basicAuth { "$user:$password" eq "12345678:12345678" }

Dann die "fhem.cfg gesavet", anschließend "shutdown restart" + <Enter> gemacht und ...

... er fragt mich nach Username und Passwort, ich gebe für beides 12345678 ein und ... Bingo ... ;)

Grüßle
Thomas
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Zrrronggg! am 06 Februar 2013, 22:41:34
Konkret war das Problem folgendes:

define WebGUI FHEMWEB 9097 global
attr WebGUI basicAuth TnV0emVyOlBhc3N3b3J0


restart
geht.


define WebGUI FHEMWEB 9097 global
attr WebGUI basicAuth { "$user:$password" eq "123:123" }


restart
geht nicht.

"Geht nicht" heisst, dass Safari beim Aufrufen der Webseite und nach Abfrage von User und PW als Meldung zurück gibt, User oder PW sei falsch.

Ich verwende sonst ne Menge perl in der cfg und das geht auch immer.

Da es bei Anderen prinzipiell zu gehen... ah...
... moment.

Seit wann sollte das gehen?  Ich verwende noch 5.2...
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: sasquuatch am 19 September 2013, 10:00:49
habe da auch mal ne frage zu, geht das nur mit der standard adresse für fhem?
define WEB FHEMWEB 8083 global
attr WEB basicAuth { "$user:$password" eq "123:123" }


ich würde das gerne für den tablet und smartphone port nutzen. trage ich den attr befehl unterhalb vom tablet bzw. smartphone define in der fhem.cfg ein, ist alles nach einem "Save Config" weg :(
define WEBphone FHEMWEB 8084 global
attr WEB basicAuth { "$user:$password" eq "123:123" }

define WEBtablet FHEMWEB 8085 global
attr WEB basicAuth { "$user:$password" eq "123:123" }

der global wert ist an meiner fritzbox gar nicht freigeschaltet. ich habe das nur fürs smartphone und tablet gemacht, weil ich nur mit dem smartphone, eventuell tablet von unterwegs auf FHEM zugreife.

NACHTRAG:

für jeden der so doof ist wie ich, die formatierung für tablet und phone sollte so aussehen:
Zitatdefine WEBphone FHEMWEB 8084 global
attr WEBphone basicAuth { "$user:$password" eq "123:123" }

define WEBtablet FHEMWEB 8085 global
attr WEBtablet basicAuth { "$user:$password" eq "123:123" }
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: UliM am 19 September 2013, 10:36:35
hi,
wenn Du das für die anderen ports einstellen willst, musst beim setzen des Attributs auch den anderen port benennen. Du hast das nu 3x für WEB gemacht, aber noch gar nicht für WEBtablet und WEBphone:
attr WEBphone  basicAuth { "$user:$password" eq "123:123" }
attr WEBtablet basicAuth { "$user:$password" eq "123:123" }

Wenn Du aus dem internet drauf zugreifst - per VPN?!

Gruß, Uli
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: sasquuatch am 01 Oktober 2013, 10:14:41
danke für die schnelle antwort UliM.

eine frage habe ich noch, ist es möglich das ganze komplett ohne benutzname zu machen und nur mit passwort?

ich habe folgende formatierung probiert:
Zitatattr WEBphone basicAuth { "$password" eq "123" }
damit erreiche ich aber nur, dass der benutzername auf standard "admin" steht, nicht aber das nur das passwort einzugeben ist.
auf dem smartphone mag er für die dyndns seite die zugangsdaten nicht speichern und dann ist das etwas nervig immer gleich beides einzugeben.
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Mitch am 11 Oktober 2013, 13:49:12
Hab da mal eine andere Frage dazu:

kann man die passwortabfrage so einstellen, dass ich nur von extern das Passwort eingeben muss, sprich wenn ich in meinem eigenen Netz bin, wird das Passwort nicht abgefragt.

Danke!
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: rudolfkoenig am 11 Oktober 2013, 15:22:03
Indem man zwei FHEMWEB Instanzen definiert, mit unterschidlichen Attributen.
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: Mitch am 11 Oktober 2013, 16:28:54
Danke Rudi, hat geklappt
Titel: Aw: Webfront verriegeln / Passwort
Beitrag von: sasquuatch am 11 Oktober 2013, 22:17:49
die lösung mit den zwei Instanzen ist wesentlich besser als mein wunsch ohne benutzername.
danke für die Idee und den Vorschlag :D
Titel: Antw:Webfront verriegeln / Passwort
Beitrag von: satprofi am 04 Februar 2014, 16:34:59
hallo.
leider kann man keine sonderzeichen verwenden. oder übersehe ich etwas?
@ z.b.
Titel: Antw:Webfront verriegeln / Passwort
Beitrag von: riker1 am 18 Oktober 2018, 15:22:05
Hallo
das ist ein alter Thread, aber habe das alte problem:



2018.10.18 15:17:21.772 4 : Connection accepted from WEB8084PW_127.0.0.1_54890
2018.10.18 15:17:28.911 3 : Login denied by allowed_WEB8084 for admin via WEB8084PW_127.0.0.1_54890



2018.10.18 15:17:07.472 5: Loading ./FHEM/96_allowed.pm
2018.10.18 15:17:07.474 5: Cmd: >attr allowed_WEB8084 basicAuth attr WEB basicAuth { "$user:$password" eq "admin:admin" }<
2018.10.18 15:17:07.475 5: Cmd: >attr allowed_WEB8084 room 00_00test99,Fhem<
2018.10.18 15:17:07.475 5: Cmd: >attr allowed_WEB8084 validFor WEB8084PW<
2018.10.18 15:17:07.475 5: Cmd: >attr allowed_WEB8084 verbose 5<


Password abfrage kommt, aber es wird abgelehnt.

Was könnte ich falsch machen?

Danke

Thomas

Habe nun nochmal nur mit dem token gemacht, da geht es. ok das mit user und passwort so nicht  denke ich