Benutzer:Andreas Plank/Wiki-Programmierung: Unterschied zwischen den Versionen
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
- https://www.mediawiki.org/wiki/Manual:Configuration_settings
- technische Benutzer-Einstellungen
php ./maintenance/userOptions.php --list --conf LocalSettings.php
JavaScript
- herkömmliche Funktions-Bausteine https://www.mediawiki.org/wiki/ResourceLoader/Core_modules
- 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:
<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>