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>