Manual:$wgUrlProtocols/cs
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 UrlUtils::parse()
.
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 UrlUtils::parse()
, 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 )
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://', // Pokud povolíme ftp://, měli bychom povolit zabezpečenou verzi.
'ssh://',
'sftp://', // SFTP > FTP
'irc://',
'ircs://', // @bug 28503
'xmpp:', // Další otevřený komunikační protokol
'sip:',
'sips:',
'gopher://',
'telnet://', // Dobře, pokud budeme podporovat výše uvedené.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'tel:', // Když můžeme propojit e-maily, proč ne telefonní čísla?
'sms:', // Stejně tak i toto je standardizováno
'news:',
'svn://',
'git://',
'mms://',
'bitcoin:', // Dokonce registerProtocolHandler to přidá na seznam povolených spolu s mailto:
'magnet:', // Není důvod odmítat torrenty přes magnet: když jsou povoleny přes http://
'urn:', // Povolit použití URN v Microdatech/RDFa <link ... href="urn:...">s
'geo:', // adresy URL definují geografické polohy, jsou užitečné v Microdatech/RDFa a pro souřadnice
'//', // pro protokolově relativní adresy URL
);
Verze MediaWiki: | 1.18 – 1.21 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'ircs://', // @bug 28503
'gopher://',
'telnet://', // Dobře, pokud budeme podporovat výše uvedené.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
'git://',
'mms://',
'//', // pro protokolově relativní adresy URL
);
Verze MediaWiki: | 1.17 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Dobře, pokud budeme podporovat výše uvedené.. -æ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://', // Dobře, pokud budeme podporovat výše uvedené.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
);
Verze MediaWiki: | 1.6 – 1.14 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Dobře, pokud budeme podporovat výše uvedené.. -æ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