Hallo zusammen,
seit einiger Zeit wird mir Forbidden command perl for WEBTABLET xxxxxx im FHEM-Log gemeldet, wessen ich mich mal annehmen wollte.
Dazu habe ich das FHEM-Logging aufgeschraubt und erhalte folgendes:
2019.02.03 13:55:08 4: WEBTABLET_197.118.11.4_57647 GET /fhem/?cmd=%7Blocaltime%7D&fwcsrf=csrf_160383154418177&XHR=1&_=1549198505309; BUFLEN:0
2019.02.03 13:55:08 5: Cmd: >{localtime}<
2019.02.03 13:55:08 3: Forbidden command perl for WEBTABLET_197.118.11.4_57647
2019.02.03 13:55:08 1: stacktrace:
2019.02.03 13:55:08 1: main::allowed_Authorize called by fhem.pl (3684)
2019.02.03 13:55:08 1: main::CallFn called by fhem.pl (5503)
2019.02.03 13:55:08 1: main::Authorized called by fhem.pl (1089)
2019.02.03 13:55:08 1: main::AnalyzePerlCommand called by fhem.pl (1152)
2019.02.03 13:55:08 1: main::AnalyzeCommand called by fhem.pl (1074)
2019.02.03 13:55:08 1: main::AnalyzeCommandChain called by ./FHEM/01_FHEMWEB.pm (2626)
2019.02.03 13:55:08 1: main::FW_fC called by ./FHEM/01_FHEMWEB.pm (888)
2019.02.03 13:55:08 1: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (559)
2019.02.03 13:55:08 1: main::FW_Read called by fhem.pl (3684)
2019.02.03 13:55:08 1: main::CallFn called by fhem.pl (737)
2019.02.03 13:55:08 4: WEBTABLET: /fhem/?cmd=%7Blocaltime%7D&fwcsrf=csrf_160383154418177&XHR=1&_=1549198505309 / RL:51 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate
Jetzt muss man noch wissen, dass ich eine WEB-Instanz definiert habe, welche nur für ein bestimmtes Andriod-Tablet zugänglich ist.
Neben der IP-Einschränkung für das Tablet habe ich auch noch verschiedene Commands eingeschränkt.
Hier die allowed_Definition der Web-Instanz.
define allowed_WEBTABLET allowed
setuuid allowed_WEBTABLET 5c486143-f33f-b5a5-e10b-b88bbf17ca083632
attr allowed_WEBTABLET allowedCommands set,get,set-user,JSON,jsonlist,jsonlist2
attr allowed_WEBTABLET group System_FrontEnd
attr allowed_WEBTABLET icon message_service
attr allowed_WEBTABLET room SYSTEM
attr allowed_WEBTABLET validFor WEBTABLET
Jetzt meine Frage, wie muss ich mein Attribut allowedCommands erweitern, dass diese Meldung nicht mehr auftritt bzw. nicht mehr geblockt wird.
Ein
attr allowed_WEBTABLET allowedCommands set,get,set-user,JSON,jsonlist,jsonlist2,cmd={localtime}
habe ich bereits ohne Erfolg versucht.
Danke für Eure Hilfe und ein schönes WE.
Gruß
Leeloo
Wenn Du Perl erlaubst, ist allowedCmd komplett sinnlos, da alles wieder möglich ist.
Siehe hier https://forum.fhem.de/index.php?topic=68368.0
Danke für den Hinweis, jetzt weiß ich dass es wie folgt lauten müsste:
attr allowed_WEBTABLET allowedCommands set,get,set-user,JSON,jsonlist,jsonlist2,perl
Ja stimmt, so macht das aber keinen Sinn. ::)
Das Ganze ist mir vor einiger Zeit nach einem Update erst aufgefallen.
Irgendwie kommt der Aufruf aus dem FTUI.
Ich selbst schalte nur ein paar Pagetabs um, dabei wird auch die Uhrzeit und das Datum angezeigt.
<div class="row">
<div data-type="clock" data-format="H:i" class="big"></div>
<div data-type="clock" data-format="d.n.Y" class="small"></div>
</div>
Aus dieser Ecke kommt wohl der PERL-Befehl.
Wurde da was geändert und gibts jetzt eine andere Möglichkeit der Anzeige?
Dann würde ich ein Device einrichten, das die Zeit enthält, und dieses als label widget o.ä. in TabletUi zeigen.
Beispiel: https://forum.fhem.de/index.php/topic,53812.msg454547.html#msg454547
Danke für den Tipp. So werde ich es nun machen.