Příručka:$wgUrlProtocols
Analyzátor: $wgUrlProtocols | |
---|---|
Definuje protokoly, které jsou podporovány a překládány do HTML analyzátorem MediaWiki. |
|
Zavedeno od verze: | 1.5.0 (r10229) |
Odstraněno od verze: | stále se používá |
Povolené hodnoty: | (pole řetězců) (1.6+) (řetězec obsahující regulární výraz) (1.5) |
Výchozí hodnota: | viz níže |
Další nastavení: Podle abecedy | Podle funkce |
Podrobnosti
Definuje protokoly URL, které MediaWiki rozpozná jako platné ve wfParseUrl().
To se používá na mnoha místech.
Nejviditelnějším efektem je, že určuje, jaké protokoly jsou povoleny pro externí odkazy: Nerozpoznané protokoly jsou ignorovány, není generován žádný odkaz.
Používá se však i na mnoha dalších místech, včetně kódu pro Special:LinkSearch a pomocných funkcí jako wfParseUrl()
, které se používají na mnoha různých místech.
Tyto příklady by nefungovaly (protože "test://"
není definován jako platný protokol):
- test://www.example.com
- [test://www.example.com]
- [test://www.example.com text odkazu]
- Některé prohlížeče, jako je Mozilla Firefox, nebudou sledovat adresy URL souborů na stránkách, které byly načteny prostřednictvím protokolu HTTP. Toto je bezpečnostní opatření. Viz tento článek mozillaZine pro více informací, včetně několika rad, jak toto omezení překonat.
- Většina prohlížečů nepodporuje adresy URL "vzdálených souborů", jako je
file://host/share
(ve výchozím nastavení je zpracovává pouze Internet Explorer. Pro Firefox je vyžadován plugin nebo použijte přesně 5 lomítek jakofile://///host/share
, viz [1])
Chcete-li povolit odkazy na místní soubory (což může mít smysl v kontextu intranetu), vložte toto do svého LocalSettings.php :
$wgUrlProtocols[] = "file://";
Obvykle chcete do tohoto pole přidat pouze protokoly.
Výchozí hodnoty
Verze MediaWiki: | ≥ 1.38 Gerrit change 876412 |
Verze MediaWiki: | 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:',
'//',
];
Verze MediaWiki: | 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://', '//',
];
Verze MediaWiki: | 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
);
Verze MediaWiki: | 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
);
Verze MediaWiki: | 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://',
);
Verze MediaWiki: | 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://',
);
Verze MediaWiki: | 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:'
);
Verze MediaWiki: | 1.5 |
$wgUrlProtocols = 'http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:';
Pokročilá úprava
Všechny výchozí protokoly by měly být bezpečné pro kliknutí (žádné škodlivé vedlejší účinky) a odstranění protokolu ze seznamu způsobí, že adresy URL používající tyto protokoly nebudou na mnoha místech v softwaru rozpoznány. Zejména odstranění 'http://' nebo jiných běžných protokolů pravděpodobně rozbije obrovské množství věcí. Pokud to však potřebujete (například již máte jmenný prostor News:), můžete udělat něco takového:
$wgUrlProtocols = array_diff($wgUrlProtocols, array('news:'));
Související odkazy
- Schémata URI (historické)
- UNC links