Sleazy Fork umožňuje v určitých prípadoch použiť externý kód. Každý skript, pri ktorom sa zistí, že obsahuje externý kód mimo povoleného rozsahu, bude odstránený. Ak nájdete skript, ktorý porušuje tieto pravidlá, nahláste ho.
Upozorňujeme, že tieto pravidlá sa vzťahujú len na externý spustiteľný kód. Načítanie nespustiteľného kódu, napríklad JSON alebo CSS, nie je obmedzené.
Odôvodnenie
Používateľské skripty majú technickú schopnosť načítať a vykonávať iné skripty. To možno vykonať niekoľkými rôznymi spôsobmi, vrátane:
@require
a@resource
metadátové kľúče.XmlHttpRequest
na stiahnutie skriptu, a potomeval
na vykonanie.- Dynamické pridanie značky
<script>
. - Možnosti webpakov externals
.
- Vykonanie aktualizácie skriptu, či už automaticky alebo usmernením používateľa na vykonanie akcie.
Hoci ide o užitočnú funkciu a väčšina autorov skriptov ju využíva na legitímne účely, môže byť použitá aj zlomyseľne. Jednou zo základných zásad stránky Sleazy Fork je, že používateľ musí mať možnosť kontrolovať kód v skripte. Externé skripty môžu túto zásadu obchádzať viacerými spôsobmi: môžu sa meniť bez varovania alebo histórie, môžu slúžiť na zobrazenie rôzneho kódu rôznym ľuďom a môžu sa použiť na skrytie škodlivého kódu uprostred známych knižníc. Aj keby niekto skontroloval externý skript a určil ho ako legitímny, nebola by to žiadna záruka, že tento skript vždy bol alebo vždy bude legitímny.
Povolené externé kódy
Nižšie sú uvedené spôsoby, akými je povolený externý kód na Sleazy Fork. Ak nie je uvedené inak, všetky ostatné pravidlá pre kód sa vzťahujú na externý kód.
Sieť pre doručovanie obsahu (CDN)
Kód z CDN je povolený. Pozrite si zoznam uznaných CDN. Tento kód môže byť minifikovaný, ale nie obfuskovaný.
Skripty s hashmi integrity čiastkových zdrojov
Použitie @require
a @resource
s adresami URL s integrita čiastkových zdrojov vo formáte Tampermonkey je povolené.
Knižnice Sleazy Fork
Skripty zverejnené ako knižnice na Sleazy Fork sú povolené. Knižnice možno vytvoriť výberom tejto možnosti pri vytváraní nového skriptu. Tie možno dodatočne nastaviť na synchronizáciu z externej adresy URL, napríklad z úložiska GitHub.
Injektovanie skriptov z pôvodného hostiteľa
Injektovanie externých skriptov na rovnakej doméne, z ktorej pochádzajú, je povolené. Ak sa skript spustí na adrese https://example.com, stiahne https://priklad.com/script.js, upraví skript a injektuje späť na adresu https://priklad.com/, bude to povolené.
Ak je https://priklad.com/script.js injektovaný na https://inastranka.com, bolo by to zakázané.