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.

Mi pare quello che stavo facendo proprio l'altro ieri con Nevow in Python :-)

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.

Mi pare che Flash giri in un ambiente "boxed" dove i danni che può
fare sono limitati. Solo ultimamente c'è la possibilità di fare
uploading e quindi in un certo qual modo accedere al server, ma magari
mi sbaglio (sulle possibilità del Flash player intendo)

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.

Se il tuo obiettivo è mandare oggetti python <-> python stai
reimplementando Twisted Perspective Broker, altrimenti se vuoi mandare
oggetti js <-> python stai reimplementando JSON :-P

Secondo me dovresti dare un'occhiata a Nevow Athena che fa proprio
quel che cerchi.

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 :-(

exec? Yeah, di all'attacker "questo sito è broken" sull'homepage che fai prima.
Comunque se vuoi creare classi a runtime puoi anche dare un'occhiata
al modulo new
http://docs.python.org/lib/module-new.html

Ma credo che il problema qui sia di tutt'altro genere



_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python





--
Lawrence
http://www.oluyede.org/blog
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Reply via email to