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