Manual:$wgUrlProtocols
Parser: $wgUrlProtocols | |
---|---|
Definieert de protocollen die worden ondersteund en vertaald in HTML door de mediawiki parser. |
|
Geïntroduceerd in versie: | 1.5.0 (r10229) |
Verwijderd in versie: | nog steeds in gebruik |
Toegelaten waardes: | (array van strings) (1.6+) (string met een reguliere expressie) (1.5) |
Standaardwaarde: | Zie onder |
Andere instellingen: Alfabetisch | Per functie |
Details
Definieert de URL-protocollen die MediaWiki zal herkennen als geldig in UrlUtils::parse()
.
Dit wordt op veel plaatsen gebruikt.
Het meest zichtbare effect is dat het bepaalt welke protocollen zijn toegestaan voor externe links: onherkenbare protocollen worden genegeerd, er wordt geen link gegenereerd.
Het wordt echter ook op veel andere plaatsen gebruikt, waaronder de code voor Special:LinkSearch, en nutsfuncties zoals UrlUtils::parse()
die op veel verschillende plaatsen worden gebruikt.
Deze voorbeelden zouden niet werken (omdat "test://"
niet is gedefinieerd als een geldig protocol):
- test://www.example.com
- [test://www.example.com]
- [test://www.example.com link tekst]
- Sommige browsers, zoals Mozilla Firefox, zullen de bestands-URL's op pagina's die via HTTP zijn geladen niet volgen. Dit is een veiligheidsmaatregel. Zie dit mozillaZine artikel voor meer informatie, inclusief enkele hints over hoe deze beperking te overwinnen.
- De meeste browsers ondersteunen geen "remote file" URL's zoals
file://host/share
(alleen Internet Explorer ondersteunt deze standaard. Voor Firefox is een plugin nodig of gebruik precies 5 slashes zoalsfile://///host/share
, zie [1]).
Om links naar lokale bestanden toe te staan (wat zinvol kan zijn in een intranetcontext), zet u dit in uw LocalSettings.php :
$wgUrlProtocols[] = "file://";
Meestal wilt u alleen protocollen toevoegen aan deze array.
Standaardwaarden
MediaWiki-versie: | ≥ 1.38 Gerrit change 876412 |
MediaWiki-versie: | 1.35 Gerrit change 876392 |
$wgUrlProtocols = [
'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'http://',
'https://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'matrix:', 'mms://',
'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:',
'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:',
'//',
];
MediaWiki-versies: | 1.24 – 1.37 |
$wgUrlProtocols = [
'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'http://',
'https://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:',
'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://',
'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:','slack://', '//',
];
MediaWiki-versies: | 1.22 – 1.23 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'ftps://', // If we allow ftp:// we should allow the secure version.
'ssh://',
'sftp://', // SFTP > FTP
'irc://',
'ircs://', // @bug 28503
'xmpp:', // Another open communication protocol
'sip:',
'sips:',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'tel:', // If we can make emails linkable, why not phone numbers?
'sms:', // Likewise this is standardized too
'news:',
'svn://',
'git://',
'mms://',
'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
'//', // for protocol-relative URLs
);
MediaWiki-versies: | 1.18 – 1.21 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'ircs://', // @bug 28503
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
'git://',
'mms://',
'//', // for protocol-relative URLs
);
MediaWiki-versie: | 1.17 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
'git://',
'mms://',
);
MediaWiki-versies: | 1.15 – 1.16 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
);
MediaWiki-versies: | 1.6 – 1.14 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:'
);
MediaWiki-versie: | 1.5 |
$wgUrlProtocols = 'http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:';
Geavanceerde wijzigen
De standaardprotocollen zouden allemaal veilig moeten zijn om op te klikken (geen kwaadaardige neveneffecten), en het verwijderen van een protocol uit de lijst zal ervoor zorgen dat URL's die deze protocollen gebruiken op veel plaatsen in de software onherkenbaar worden. Met name het verwijderen van 'http://' of andere gemeenschappelijke protocollen zal waarschijnlijk enorme hoeveelheden zaken onbruikbaar maken. Toch kan je, als het nodig is (je hebt bijvoorbeeld al een News: namespace), zoiets doen:
$wgUrlProtocols = array_diff($wgUrlProtocols, array('news:'));
Zie ook
- URI schema's (historisch)
- UNC links