[Python] mod_python ed il giusto handler

Andrea Giammarchi andrea a 3site.it
Ven 18 Ago 2006 19:26:17 CEST


Vorrei solodire che mi si era impallato l'host e mi sono perso 
probabilmente altri messaggi quindi mi scuso se non ho risposto anche 
agli altri.

Aggiungo che ACE utilizza una versione light del methodTable, sistema 
sfruttato dal progetto AMFPHP nonchè da quello analogo per Perl e Python.
Trattasi di Flash remoting, utilizzo di oggetti server sul client ed 
invio di oggetti client al server, disponibile ufficialmente anche per 
J2EE ed ASP.NET.
Quindi visto che tutti i linguaggi più note hanno da anni utilizzato il 
trasporto di oggetti da e verso il client, se esiste un filtro 
(methodTable) ed in questi anni nessuno s'è mai accanito sulla 
pericolosità dello scambio di oggetti attraverso questo filtro, presumo 
che ACE non debba preoccupare nessuno, salvo bugs miei sul codice, ma il 
sorgente è Open.

Unica accortezza che forse inserirò nelle F.A.Q. è la questione degli 
oggetti, che non è detto debbano essere disponibili (sul client sono 
creati runtime se non presenti, anche sul server in generale per 
permetterne la restituzione) perchè possono anche viaggiare 
tranquillamente per permettere di modificare solo qualche proprietà (una 
lista di informazioni assegnata a noti parametri) ed essere restituito 
senza richiamare alcun metodo ma con informazioni aggiornate.
A quel punto il client avrà l'oggetto aggiornato restituito dal server, 
poco consigliabile fare questa operazione al contrario.

In ultimo, se in Pippo(): def register(self, ClientObject): mi aspetto 
che ClientObject sia un'istanza esatta di un'altra classe già definita 
in Python sapete meglio di me come controllarlo e solo se tale allora 
userò il metodo che mi server, ma sono casi molto particolari, che 
starebbero meglio in un'area admin post autenticazione... ma non per 
questo non devono poter esistere (imho) visto che farlo è possibile.

ACE per python (PyACE ??? :P) crea la classe runtime solo se esistente, 
altrimenti restituisce un dict perche PyRex non supporta exec e non sono 
riuscito a trovare il modo nella serializer per PyRex di crere una 
classe runtime :-(


Maggiori informazioni sulla lista Python