mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-18 12:06:04 +00:00
01_FHEMWEB.pm: csrfToken active from featurelevel 5.8 (Forum #53847)
git-svn-id: https://svn.fhem.de/fhem/trunk@11546 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
ff4a2d7286
commit
98dbbd1fa4
@ -264,6 +264,13 @@ FW_Define($$)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
InternalTimer(1, sub(){
|
||||
if($featurelevel >= 5.8 && !AttrVal($name, "csrfToken", undef)) {
|
||||
my ($x,$y) = gettimeofday();
|
||||
$hash->{CSRFTOKEN} = rand($y)*rand($x);
|
||||
}
|
||||
}, $hash, 0);
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
@ -2300,7 +2307,12 @@ FW_Attr(@)
|
||||
my ($x,$y) = gettimeofday();
|
||||
$csrf = rand($y)*rand($x);
|
||||
}
|
||||
$hash->{CSRFTOKEN} = $csrf;
|
||||
|
||||
if($csrf eq "none") {
|
||||
delete($hash->{CSRFTOKEN});
|
||||
} else {
|
||||
$hash->{CSRFTOKEN} = $csrf;
|
||||
}
|
||||
}
|
||||
|
||||
if($attrName eq "csrfToken" && $type eq "del") {
|
||||
@ -3057,11 +3069,12 @@ FW_widgetOverride($$)
|
||||
|
||||
<a name="csrfToken"></a>
|
||||
<li>csrfToken<br>
|
||||
If set, FHEMWEB requires the value of this attribute as fwcsrf
|
||||
Parameter for each command. If the value is random, then a random
|
||||
number will be generated on each FHEMWEB start. It is used as
|
||||
countermeasure for Cross Site Resource Forgery attacks.
|
||||
Default is not active.
|
||||
If set, FHEMWEB requires the value of this attribute as fwcsrf Parameter
|
||||
for each command. It is used as countermeasure for Cross Site Resource
|
||||
Forgery attacks. If the value is random, then a random number will be
|
||||
generated on each FHEMWEB start. If it is set to none, no token is
|
||||
expected. Default is random for featurelevel 5.8 and greater, and none
|
||||
for featurelevel below 5.8
|
||||
</li><br>
|
||||
|
||||
<a name="CssFiles"></a>
|
||||
@ -3767,11 +3780,12 @@ FW_widgetOverride($$)
|
||||
<a name="csrfToken"></a>
|
||||
<li>csrfToken<br>
|
||||
Falls gesetzt, wird der Wert des Attributes als fwcsrf Parameter bei
|
||||
jedem ueber FHEMWEB abgesetzten Kommando verlangt. Falls der Wert
|
||||
random ist, dann wird ein Zufallswert beim jeden FHEMWEB Start neu
|
||||
generiert.
|
||||
Es dient zum Schutz von Cross Site Resource Forgery Angriffen.
|
||||
Default ist leer, also nicht aktiv.
|
||||
jedem über FHEMWEB abgesetzten Kommando verlangt, es dient zum
|
||||
Schutz von Cross Site Resource Forgery Angriffen.
|
||||
Falls der Wert random ist, dann wird ein Zufallswert beim jeden FHEMWEB
|
||||
Start neu generiert, falls er none ist, dann wird kein Parameter
|
||||
verlangt. Default ist random für featurelevel 5.8 und
|
||||
größer, und none für featurelevel kleiner 5.8
|
||||
</li><br>
|
||||
|
||||
<a name="CssFiles"></a>
|
||||
@ -4237,7 +4251,7 @@ FW_widgetOverride($$)
|
||||
<a name="widgetOverride"></a>
|
||||
<li>widgetOverride<br>
|
||||
Leerzeichen separierte Liste von Name/Modifier Paaren, mit dem man den
|
||||
vom Modulautor fuer einen bestimmten Parameter (Set/Get/Attribut)
|
||||
vom Modulautor für einen bestimmten Parameter (Set/Get/Attribut)
|
||||
vorgesehene Widgets ändern kann.
|
||||
<ul>
|
||||
<li>Ist der Modifier ":noArg", wird kein weiteres Eingabefeld
|
||||
|
Loading…
x
Reference in New Issue
Block a user