L'articolo proposto da Andrea mi sembra risponda appieno alle tue (e anche mie, a ben vedere ) esigenze.

P.S. per quanto riguarda il problema con PHP fai come me:
io studio solo i bug sfruttati dai defacer. il resto, obbrobriosamente, lo ignoro