Manual:$wgUrlProtocols/cs

From Linux Web Expert

<translate> Parser</translate>: $wgUrlProtocols
Definuje protokoly, které jsou podporovány a překládány do HTML analyzátorem MediaWiki.
<translate> Introduced in version:</translate>1.5.0 (r10229)
<translate> Removed in version:</translate><translate> still in use</translate>
<translate> Allowed values:</translate>(pole řetězců) (1.6+)
(řetězec obsahující regulární výraz) (1.5)
<translate> Default value:</translate>viz níže

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 jako file://///host/share, viz [1])
File:OOjs UI icon notice-destructive.svg <translate> Warning:</translate> V MediaWiki 1.20.2+ přidání "file:" bez koncových lomítek k $wgUrlProtocols naruší vkládání obrázků pomocí syntaxe [[File:Image.jpg]]. Toto je známá chyba související se změnou, která způsobila, že při vyhledávání v protokolu URL se nerozlišují malá a velká písmena. Jako náhradní řešení použijte "file://" namísto "file:", jak je uvedeno níže.

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

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar name=1>1.41</tvar></translate>">
<translate> ≥</translate> 1.38
Gerrit change 876412
<translate> MediaWiki version:</translate>
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.35</tvar> is unsupported version</translate>">
1.35
Gerrit change 876392
<translate> MediaWiki version:</translate>
$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:',
	'//',
];
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.37</tvar> is unsupported version</translate>">
1.24 – 1.37
<translate> MediaWiki versions:</translate>
$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://', '//', 
];
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.23</tvar> is unsupported version</translate>">
1.22 – 1.23
<translate> MediaWiki versions:</translate>
$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
);
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.21</tvar> is unsupported version</translate>">
1.18 – 1.21
<translate> MediaWiki versions:</translate>
$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
);
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.17</tvar> is unsupported version</translate>">
1.17
Verze MediaWiki:
$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://',
);
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.16</tvar> is unsupported version</translate>">
1.15 – 1.16
<translate> MediaWiki versions:</translate>
$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://',
);
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.14</tvar> is unsupported version</translate>">
1.6 – 1.14
<translate> MediaWiki versions:</translate>
$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:'
);
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.5</tvar> is unsupported version</translate>">
1.5
Verze MediaWiki:
$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