Benutzer:Andreas Plank/Wiki-Programmierung: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
Zeile 8: Zeile 8:
 
* herkömmliche Funktions-Bausteine https://www.mediawiki.org/wiki/ResourceLoader/Core_modules
 
* herkömmliche Funktions-Bausteine https://www.mediawiki.org/wiki/ResourceLoader/Core_modules
 
* Reguläre Ausdrücke testen https://regex101.com
 
* Reguläre Ausdrücke testen https://regex101.com
 +
 +
== CORS (cross-origin resource sharing) ==
 +
 +
(1) Auf Server-Ebene von Apache, daß die Erlaubnis des Ursprungs (=origin) gegeben wird:
 +
 +
<syntaxhighlight lang="apache">
 +
<IfModule mod_headers.c>
 +
  # define external resources that are allowed to read resources from wiki.opensourceecology.de
 +
  SetEnvIf Origin "https://(3dviewer\.net)$" ORIGIN=$0
 +
  Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
 +
  Header set Access-Control-Allow-Credentials "true" env=ORIGIN
 +
  Header merge Vary Origin
 +
</IfModule>
 +
</syntaxhighlight>
 +
 +
(2) Auf Ebene des Wikis in den <code>LocalSettings.php</code> selbst:
 +
<syntaxhighlight lang="php">
 +
$wgCrossSiteAJAXdomains = [
 +
    '3dviewer.net'
 +
];
 +
</syntaxhighlight>
 +
 +
(3) auf dem Fremdserver 3dviewer.net muß wahrscheinlich folgendes frei eingestellt sein:
 +
<syntaxhighlight lang="apache">
 +
<IfModule mod_headers.c>
 +
  Header set Access-Control-Allow-Origin "*"
 +
</IfModule>
 +
</syntaxhighlight>
 +
 +
… oder genauer genommen und sicherer müßte auf 3dviewer.net der genaue Ursprung (=origin) erlaubt werden, mit dem Daten vermittelt werden dürfen:
 +
<syntaxhighlight lang="apache">
 +
<IfModule mod_headers.c>
 +
  # define external origins that are allowed to read from 3dviewer.net as a resource
 +
  SetEnvIf Origin "https://(wiki\.opensourceecology\.de)$" ORIGIN=$0
 +
  Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
 +
  Header set Access-Control-Allow-Credentials "true" env=ORIGIN
 +
  Header merge Vary Origin
 +
</IfModule>
 +
</syntaxhighlight>

Version vom 26. September 2023, 23:28 Uhr

Einstellungen

JavaScript

CORS (cross-origin resource sharing)

(1) Auf Server-Ebene von Apache, daß die Erlaubnis des Ursprungs (=origin) gegeben wird:

<IfModule mod_headers.c>
  # define external resources that are allowed to read resources from wiki.opensourceecology.de
  SetEnvIf Origin "https://(3dviewer\.net)$" ORIGIN=$0
  Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
  Header set Access-Control-Allow-Credentials "true" env=ORIGIN
  Header merge Vary Origin
</IfModule>

(2) Auf Ebene des Wikis in den LocalSettings.php selbst:

$wgCrossSiteAJAXdomains = [
    '3dviewer.net'
];

(3) auf dem Fremdserver 3dviewer.net muß wahrscheinlich folgendes frei eingestellt sein:

<IfModule mod_headers.c>
  Header set Access-Control-Allow-Origin "*"
</IfModule>

… oder genauer genommen und sicherer müßte auf 3dviewer.net der genaue Ursprung (=origin) erlaubt werden, mit dem Daten vermittelt werden dürfen:

<IfModule mod_headers.c>
  # define external origins that are allowed to read from 3dviewer.net as a resource
  SetEnvIf Origin "https://(wiki\.opensourceecology\.de)$" ORIGIN=$0
  Header set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
  Header set Access-Control-Allow-Credentials "true" env=ORIGIN
  Header merge Vary Origin
</IfModule>