diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 22f5a05cb..8e2e30ca3 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -18,6 +18,7 @@ sub FW_doDetail($); sub FW_dumpFileLog($$$); sub FW_fatal($); sub FW_fileList($); +sub FW_htmlEscape($); sub FW_logWrapper($); sub FW_makeEdit($$$); sub FW_makeImage($); @@ -601,7 +602,7 @@ FW_answerCall($) if($FW_cmdret) { $FW_detail = ""; $FW_room = ""; - $FW_cmdret =~ s//>/g; FW_pO "
"; $FW_cmdret = "
$FW_cmdret
" if($FW_cmdret =~ m/\n/); @@ -738,6 +739,7 @@ FW_makeTable($$@) FW_pO "
$n
"; if(ref($val)) { my ($v, $t) = ($val->{VAL}, $val->{TIME}); + $v = FW_htmlEscape($v); if($FW_ss) { $t = ($t ? "
$t
" : ""); FW_pO "
$v$t
"; @@ -749,6 +751,7 @@ FW_makeTable($$@) } } else { + $val = FW_htmlEscape($val); FW_pO "
$val
"; } @@ -1346,8 +1349,7 @@ FW_logWrapper($) } my $cnt = join("", reverse ); close(FH); - $cnt =~ s//>/g; + $cnt = FW_htmlEscape($cnt); FW_pO $cnt; FW_pO $suffix; @@ -2646,6 +2648,15 @@ FW_closeOldClients() InternalTimer($now+60, "FW_closeOldClients", 0, 0); } +sub +FW_htmlEscape($) +{ + my ($txt) = @_; + $txt =~ s//>/g; + return $txt; +} + 1; =pod