WebsiteBaker Community Forum

WebsiteBaker Support (2.10.x) => General Help & Support => Hilfe & Support (deutsch) => Topic started by: evaki on December 12, 2017, 01:08:58 PM

Title: CSP / jQuery
Post by: evaki on December 12, 2017, 01:08:58 PM
Bekomme auf der Console immer die Meldung:
getPreventDefault() sollte nicht mehr verwendet werden. Verwenden Sie stattdessen defaultPrevented.
jquery-min.js:3:6598

Wird jQuery in der nächsten WB-Version "ausgetauscht"?
Es funktioniert ansonsten, inkl. Report(.txt)
Getestet wird anscheinend auf CSP2
MfG. Evaki
Title: Re: CSP / jQuery
Post by: evaki on December 12, 2017, 11:11:53 PM
Vielleicht kann mir ja jemand sagen ob ich hier Ursache und Wirkung verwechselt habe.
Bei Javascript sehe ich leider nur sehr alt aus...
MfG. Evaki
Title: Re: CSP / jQuery
Post by: dbs on December 13, 2017, 08:48:42 AM
Quote
Es funktioniert ansonsten
Moin, weil es funktioniert und gut mit älteren Plugins zusammenarbeitet, wird es wohl nicht aktualisiert.
Täte man dies, müsste man wohl auch jQuery-Migrate dazuladen um ältere Plugins zu unterstützen oder die User müssten sich aktuellere Plugins/Versionen suchen.

Eigene Einbindungen sind natürlich auch möglich.
Title: Re: CSP / jQuery
Post by: evaki on December 13, 2017, 01:44:04 PM
Danke für die Klärung.
Hatte das Template zugeschickt bekommen, und konnte die Meldung bestätigen.
Beim gleichen, aber geänderten (was, wie, wo = wech) ließ sich die Meldung nicht mehr reproduzieren.
Hast Du "ne Ahnung" bei welchem Zustand diese Meldung auftritt?
Falls es wirklich "unwichtig" ist, Deine Erklärung ist ja mehr als befriedigend, braucht es keine weitere Ausführungen.
MfG. Evaki
Title: Re: CSP / jQuery
Post by: evaki on December 13, 2017, 06:55:44 PM
Tja, und die folgende Meldung hatte ich bei dem Hin und Her ganz unterschlagen.
mit der Regel: script-src 'self' 'unsafe-inline';
gibts: Source: call to eval() or related function blocked by CSP.
Mit 'ner Erweiterung der Direktive per 'unsafe-eval' ist die Meldung zwar weg, ist aber wie Schuß durchs Knie.... vorne zu, hinten wieder auf -ups
Wird das mit CSP3 besser?
MfG. Evaki
Title: Re: CSP / jQuery
Post by: DarkViper on December 13, 2017, 09:33:29 PM
Die Einhaltung der ContentSecurityPolice ist bei derzeitigem WB (und auch bei den meisten anderen Systemen) nicht so ganz einfach. ;)

Um das halbwegs sinnvoll zu nutzen, sollte auf jegliches Inline-JS oder JS-Includes innerhalb des Bodys (mit Ausnahme am Ende) verzichtet werden. Das selbe gilt für JS-Events in HTML-Tags (onClick=".."  etc.).
JS-Quellen von externen URLs müssen explizit freigegeben werden. Am einfachsten ist es noch, wenn alles JS vom eigenen Server kommt.
Und noch eine ganze Latte weiterer Punkte, die beachtenswert sind. (siehe die RFCs dazu)

Mal sehen, was die nächste große Versionsnummer von WB in dieser Hinsicht bringt. Jedenfalls bastle ich da an einer völlig neuen Ausgabetechnik, um das Ding einzubauen... braucht nur alles seine Zeit.
Title: Re: CSP / jQuery
Post by: evaki on December 14, 2017, 09:01:34 AM
>>Jedenfalls bastle ich da an einer völlig neuen Ausgabetechnik, um das Ding einzubauen...
Jo, beim noch genaueren Hinschauen, teilweise aber auch dumm aus der Wäsche gucken, nun auch gesehen, daß es komplexer als gedacht ist. Mit viel Gefummle bekommt man auf der Konsolenzeile dann auch mal
Source:
      var URL = 'http://localhost';
      var W....
zu sehen. 
Na dann viel Spaß damit  8-)
MfG. Evaki
Title: Re: CSP / jQuery
Post by: evaki on December 14, 2017, 01:33:13 PM
Für diejenigen, die schon mal "spielen" wollen, und für sowas wenig Zeit aufwenden können.

Bei uns (im Sandkasten) finden sich im Template-Index die Header:
header("X-Frame-Options: DENY");

header("X-Content-Type-Options: nosniff");
header("Content-Security-Policy-Report-Only: default-src 'self'; font-src 'self'; img-src 'self' http://*.domain1.tld http://*.domain2.tld; media-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; report-uri http://localhost/CSP/cspreport.php");
//header("Content-Security-Policy-Report-Only: default-src 'self'; font-src 'self'; img-src 'self' http://*.domain1.tld http://*.domain2.tld; media-src *; script-src 'self'; style-src 'self' 'unsafe-inline'; report-uri http://localhost/CSP/cspreport.php");

header("X-XSS-Protection: 1; mode=block");


Bei jedem Browserzugriff (CSP-fähig) wird im Beispiel: http://localhost/CSP/cspreport.php aufgerufen, und gegebenenfalls ein Report erzeugt, im Beipiel "cspreport.php" ist es die Datei csp-report-log.txt

Inhalt von cspreport.php
Code: [Select]
<?php
date_default_timezone_set
("UTC");
$tstamp date('Y-m-d H:i:s');
$browser $_SERVER['HTTP_USER_AGENT']; 
http_response_code(204); 
$data file_get_contents('php://input'); 
if (
$data json_decode($data)) { 
$data json_encode
$data
JSON_PRETTY_PRINT JSON_UNESCAPED_SLASHES 
); 
$datei fopen("csp-report-log.txt""a"); 
fwrite ($datei"\r\n"); 
fwrite ($datei'UTC: '.$tstamp);
fwrite ($datei"\r\n"); 
fwrite ($datei$browser); 
fwrite ($datei"\r\n"); 
fwrite($datei$data); 
 
fclose($datei); 

MfG. Evaki
Title: Re: CSP / jQuery
Post by: evaki on December 18, 2017, 08:46:28 PM
Das Inline-Problem läßt sich wohl mit CSP-kompatiblen Browsern lösen, indem man die Direktive "hash-source" verwendet, wenn ich es richtig verstanden habe (noch nix im Sandkasten). Wer "barrierefreie" Auftritte baut, hat damit kein Problem, nur"etwas ältere Browser" werden "Bahnhof verstehen. Ist also anscheinend ein "paßt scho" wert.  :-D
MfG. Evaki
p.s. Gibts WB-Anwender, die CSP schon erfolgreich einsetzen?