Každé malé dítě ví, že když na webu něco zkopíruje do systémové schránky, tak to tam prostě je a může to kdykoliv a kamkoliv zase vložit. Skutečnost je ale mnohem složitější, protože tu máme Javascript a potenciální záškodníky, kteří mohou obsah schránky pozměnit.
Podívejte se třeba na tento výrok níže. Vypadá zcela neškodně, že? Zkuste jej ale ručně zkopírovat a někam vložit:
Bobík s Pinďou vaří guláš.
Nejspíše uvidíte úplně jiný text. Pokud tedy nepoužíváte nějaký starý (třeba IE) nebo speciální prohlížeč s omezenou podporou moderního Javascriptu.
Podívejte se na video:
Falešná kočička
Podobně si můžeme pohrát i s dalšími typy dat. Takže když odstavec textu nahradím obrázkem a o něco delším kódem, docílím efektu jako ve videu níže, ve kterém z webové stránky namísto fotky hezké kočičky zkopíruji ošklivého Kubu.
Nebezpečný vtípek s příkazovou řádkou
Toto byly ještě neškodné vtípky, dejme ale tomu, že na webu hledáte návod, jak udělat něco složitějšího na počítači, přičemž součástí manuálu bude nějaký příkaz, který máte vložit do příkazové řádky.
Třeba by to mohl být neškodný příkaz pro výpis obsahu adresáře na Windows:
Jelikož ho nechcete ručně opisovat, abyste si ušetřili čas, zkopírujete jej a rovnou vložíte do příkazové řádky. A opět, pokud používáte současný webový prohlížeč bez dalších úprav a stejně tak prehistorickou Příkazovou řádku, vloží se do ní úplně jiný příkaz, který třeba může začít mazat soubory, instalovat malware a tak podobně.
Podívejte se na video:
Ke všemu, a to je zdaleka nejhorší, příkaz se rovnou i zpracuje bez potřeby klepnutí na ENTER, jeho součástí je totiž na konci i znak pro zalomení řádku.
Starou Příkazovou řádku už nepoužívejte!
O důvod více, pro používat PowerShell anebo v případě Windows 11 jeho nový Terminal. Zatímco PowerShell počká i tak na ENTER, Terminal u víceřádkového textu zobrazí varování s náhledem a zeptá se, jestli chcete obsah schránky opravdu vložit.

Pokus o vložení víceřádkového textu v novém Windows Terminalu
Jak jsme to udělali? Stačil jeden řádek kódu
Podobná srandička přitom není žádný sofistikovaný hacking, ale naprosto standardní práce s rozhraním Javascriptu Clipboard API. Napoví primitivní kódy níže.
První ukázka:
<p oncopy="navigator.clipboard.writeText('Už máte Živě.cz Premium?')">
Bobík s Pinďou vaří guláš.
</p>
Druhá ukázka:
<p oncopy="navigator.clipboard.writeText('ping google.com\n')">
dir
</p>
Jednoduše jsem u jednotlivých HTML objektů nastavil, co se má stát po události oncopy, tedy po vyvolání požadavku na zkopírování objektu (v tomto případě jeho textu). Byla to instrukce navigator.cliboard.writeText, kdy jsem pomocí Javascriptu do schránky vložil úplně jiný obsah, než si myslí návštěvník stránky.
U příkladu se zdrojovým kódem jsem pak alternativní text příkazu zakončil zástupným znakem zalomení řádku \n.
Pokud tedy často kopírujete různé příkazy z webových manuálů, pro klid v duši používejte takové textové terminály, které nabízejí alespoň elementární ochranu při vkládání textu ze systémové schránky.