TeXovani ciziho zdroje?

Zdenek Wagner wagner at cesnet.cz
Thu Jul 3 17:03:01 CEST 2003


On Thu, 3 Jul 2003, Jan Kasprzak wrote:

> 	Dobry den,
>
> predstavte si, ze chcete napsat nejakou (treba webovou) sluzbu, ktera
> bude cast vstupu od uzivatele kompilovat TeXem. A ted je problem,
> jak osetrit, aby TeX na zaklade uzivatelova vstupu neudelal neco spatneho
> (\input nejakeho jinak pres web neviditelneho souboru a zpristupneni jeho
> obsahu uzivateli, \openout/\write nekam na disk, atd.).
>
> 	Mam dva dotazy:
>
> 1) ktera primitiva TeXu lze povazovat za nebezpecna (krome tech tri
> 	jmenovanych)

\openin, \read, \openout, \write, \input. LaTeX ma tyto funkce skryty v
rade jinych maker jako \@input, \InputIfFileExists apod. Navic si uzivatel
muze napsat vlastni makra...

> 2) jak byste tohle resili? Jeste je tady jedna vec, ze uzivatel ten text
> 	zadava menekrat nez se pak TeXuje, takze by bylo dobre kontrolovat
> 	zadany vstup jiz pri vkladani, nikoliv az pri tisku. Navic pri finalnim

Pri vlkadani to pujde tezko, protoze by bylo nutno expandovat makra a
kontrolovat, co se deje. A co kdyz clovek napise neco jako:

\def\blbost{openin}
\immediate\csname\blbost\endcsname\a /etc/passwd

> 	TeXovani by bylo dobre mit jeste porad \input k dispozici.
> 	ani \openout \write asi uz nemusi byt.
>
> 	Zkusil jsem si navrhnout par reseni, ale po case jsem vzdycky prisel
> na neco, jak by se to asi dalo prolomit. Shanim tedy inspiraci.
>
> 	Zrejme zatim staci omezit se na format Plain.
>
Prave v plainu jsou uzivatele zvykli delat vlastni makra a pro rejstriky a
obsah je nutny \write. Nejspis by to chtelo chroot nebo Medusu. Nekde uz
bezi TeX server a mam tuseni, ze to bylo prezentovano bud na nejakem
EuroTeXu nebo je to v nejakem TUGboatu.

> 	Diky,
>
> -Yenya
>
> --
> \ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
> \\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
> \\\             Czech Linux Homepage:  http://www.linux.cz/              ///
> \\\\     If you hold a Unix shell to your ear, do you hear the C?       ////
>

Zdenek Wagner
e-mail: wagner at cesnet.cz

see also http://hroch486.icpf.cas.cz/wagner/
         http://icebearsoft.euweb.cz




More information about the csTeX mailing list