Bourne Shell Server Pages

Lehet, hogy valamikor 'voltmár', de nekem új.

Csodálatos fantasztikus új technológia, írjunk dinamikus weboldalt php/asp/jsp és társai helyett beágyazott bash scriptekkel Shell-Interpreted Template nyelven. A nyelv roppant egyszerű, csak háromféle taget kell tudni használni:

  • <$ $> - hosszabb több soros összefüggő script részletek beágyazása
  • <` `> - pont, mint a bash ` `, egy kifejezés standard outját helyettesíti be
  • <^ ^> - nem ez nem egy japán stílusú smiley, ez az include

Az elmaradhatatlan hello world példa:

<html>
<body>
<h1><$ echo "Hello, world!" $></h1>
</body>
</html>

A nyelv részletesebb leírása és további példák itt olvashatóak.

A vicc az egészben, hogy a template processor egy bash script (mi más lenne? :) ), kemény 710 byte méretben. Apache not necessary, mellékelnek hozzá egy xinetd-ből futó webszervert is. Természetesen ezt is bashben, 834 byte méretben.

Csak be kell rakni a /etc/xinetd.d/ alá ezt a konfigfájlt illetve a page processort valamint a web szerver scriptet a /usr/local/bin alá, futási jogot adni az utóbbi kettőre és seggberúgni a xinetd-t, hogy vegye észre, hogy új szolgáltatást kapott. És (miután kijavítottuk a hibákat a scriptekben :) ugye azok a fránya hiányzó idézőjelek... :P) máris működik.

Mindenféle okos feature is van benne, például cache-eli a template fájlokból generált scripteket, here documenteket használ, meg ilyesmi.

Tulajdonképpen egészen jó kis dolog, gyors hekkelgetéshez még akár használhatónak is mondható. Roppant flexibilis, lévén, hogy mindent meg lehet benne csinálni, amit bash scriptből meg lehet, így akár RPC mechanizmusnak is remekül használható. Csodálkozom rajta, hogy miért nem használják sok helyen.

NOT! :) Na jó, szóval jót röhögtem rajta, aki ért hozzá az gondolom tudja értékelni a humort, aki meg nem, nos annak felhívom a figyelmét a guide következő sunyi megjegyzésére: Securing the installation is left as an exercise for the reader.. :) Tessék megszívlelni, mert ez komolyan értendő! Felelősséget nem vállalok a felelőtlen használatából eredő károkért.

Hozzászólások

érdekes proof-of-concept cucc.
elég elvetemültek lehetnek a készítők, hogy ilyesmit puszta passzióból összeüssenek.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.1 | 2.6.26.7-janos

Szerintem a legnagyobb gond a securityvel van ezen a helyen. Ha a bejovo inputok nincsenek megfeleloen levagva, gyakorlatilag shellt adtal a gepedre.

De amugy ertekelem, fun dolog =)