PCGI

PCGI (Perl Common Gateway Interface) je knihovna pro programovací jazyk Perl pro práci s CGI (Common Gateway Interface).

Knihovna umožňuje zpracovávat příchozí datový tok vysokou rychlostí . Hlavní výhodou je, že knihovna umožňuje bezpečně přijímat libovolně velké objemy dat při velmi ekonomické spotřebě RAM .

Například pomocí PCGI můžete přijímat (s dostatečně vysokorychlostním připojením k internetu nebo sítí) soubor o velikosti 500 MB nebo více, což spotřebovává malé množství paměti RAM spotřebované knihovnou při příjmu dat (ne více než 2 MB, s výjimkou pole přijatých dat).

Navíc je vyřešen jeden ze závažných bezpečnostních problémů: zlomyslně vytvořený komplexní požadavek této velikosti nepřetíží server. Pro srovnání můžeme zvážit standardní metody ochrany:

Tato knihovna používá původní metodu ochrany. Vývojář zpravidla vždy ví, jaký maximální počet prvků může konkrétní webový formulář obsahovat . Nejčastěji se jedná o malý počet (například 10 - 20 prvků), avšak ve vzácných případech může tento počet dosáhnout stovek nebo dokonce tisíců prvků. Přestože se škodlivý požadavek může vejít do povolené velikosti, může obsahovat tolik prvků, že přetíží server . Tento okamžik je nejzranitelnější vůči útokům hackerů . Například dvoumegabajtový požadavek může na minutu přetížit moderní počítač (3 GHz) a přitom spotřebovat paměť od 50 do 200 MB. Tato data byla získána testováním mnoha knihoven různých jazyků. PCGI na druhou stranu umožňuje omezit počet přijímaných prvků a tím zajistit příjem velkého množství dat. Limit 1000 nebo více položek zabrání útočníkovi v přetížení serveru. Pro znatelné přetížení musí dotaz obsahovat stovky tisíc nebo více položek.

Knihovna je plně v souladu se specifikací W3C Web Forms , včetně podpory pro multipart/mixed data format .

Viz také

Odkazy