mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-19 06:36: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);
|
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;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2300,7 +2307,12 @@ FW_Attr(@)
|
|||||||
my ($x,$y) = gettimeofday();
|
my ($x,$y) = gettimeofday();
|
||||||
$csrf = rand($y)*rand($x);
|
$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") {
|
if($attrName eq "csrfToken" && $type eq "del") {
|
||||||
@ -3057,11 +3069,12 @@ FW_widgetOverride($$)
|
|||||||
|
|
||||||
<a name="csrfToken"></a>
|
<a name="csrfToken"></a>
|
||||||
<li>csrfToken<br>
|
<li>csrfToken<br>
|
||||||
If set, FHEMWEB requires the value of this attribute as fwcsrf
|
If set, FHEMWEB requires the value of this attribute as fwcsrf Parameter
|
||||||
Parameter for each command. If the value is random, then a random
|
for each command. It is used as countermeasure for Cross Site Resource
|
||||||
number will be generated on each FHEMWEB start. It is used as
|
Forgery attacks. If the value is random, then a random number will be
|
||||||
countermeasure for Cross Site Resource Forgery attacks.
|
generated on each FHEMWEB start. If it is set to none, no token is
|
||||||
Default is not active.
|
expected. Default is random for featurelevel 5.8 and greater, and none
|
||||||
|
for featurelevel below 5.8
|
||||||
</li><br>
|
</li><br>
|
||||||
|
|
||||||
<a name="CssFiles"></a>
|
<a name="CssFiles"></a>
|
||||||
@ -3767,11 +3780,12 @@ FW_widgetOverride($$)
|
|||||||
<a name="csrfToken"></a>
|
<a name="csrfToken"></a>
|
||||||
<li>csrfToken<br>
|
<li>csrfToken<br>
|
||||||
Falls gesetzt, wird der Wert des Attributes als fwcsrf Parameter bei
|
Falls gesetzt, wird der Wert des Attributes als fwcsrf Parameter bei
|
||||||
jedem ueber FHEMWEB abgesetzten Kommando verlangt. Falls der Wert
|
jedem über FHEMWEB abgesetzten Kommando verlangt, es dient zum
|
||||||
random ist, dann wird ein Zufallswert beim jeden FHEMWEB Start neu
|
Schutz von Cross Site Resource Forgery Angriffen.
|
||||||
generiert.
|
Falls der Wert random ist, dann wird ein Zufallswert beim jeden FHEMWEB
|
||||||
Es dient zum Schutz von Cross Site Resource Forgery Angriffen.
|
Start neu generiert, falls er none ist, dann wird kein Parameter
|
||||||
Default ist leer, also nicht aktiv.
|
verlangt. Default ist random für featurelevel 5.8 und
|
||||||
|
größer, und none für featurelevel kleiner 5.8
|
||||||
</li><br>
|
</li><br>
|
||||||
|
|
||||||
<a name="CssFiles"></a>
|
<a name="CssFiles"></a>
|
||||||
@ -4237,7 +4251,7 @@ FW_widgetOverride($$)
|
|||||||
<a name="widgetOverride"></a>
|
<a name="widgetOverride"></a>
|
||||||
<li>widgetOverride<br>
|
<li>widgetOverride<br>
|
||||||
Leerzeichen separierte Liste von Name/Modifier Paaren, mit dem man den
|
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.
|
vorgesehene Widgets ändern kann.
|
||||||
<ul>
|
<ul>
|
||||||
<li>Ist der Modifier ":noArg", wird kein weiteres Eingabefeld
|
<li>Ist der Modifier ":noArg", wird kein weiteres Eingabefeld
|
||||||
|
Loading…
x
Reference in New Issue
Block a user