[Twisted-Python] pb.Copyable, round trip objects, and untrusted clients
radix at twistedmatrix.com
Thu May 20 13:07:06 EDT 2004
David Ripton wrote:
> On 2004.05.20 01:33:09 +0000, Christopher Armstrong wrote:
>>It sounds like the client ought to just pass a string (e.g., the name of
>>the game) or something representing the game it wants to play. IOW,
>>whether it's a string or not, something that isn't possible to be munged
>>in a way that would "mess up" the server in the first place.
> Yes, that's the way I solved the problem last time. Stringify everything
> on one side. Parse the strings on the other side.
> If your goal is to have separate client and server programs rather than
> a single distributed system, this is the way to do it. If security is
> your #1 goal, this is the way to do it.
> If your goal is a minimal and easily maintained system, this is not the
> way to do it. Not if you have a lot of complex state to track, anyway.
> Remote references let you share the same representation on both sides,
> avoiding most of the sync issues. (Or at least delegating them to the
> framework, where they can be handled consistently.)
Well, your example didn't look like it had much use for using
particularly complex state going both ways. Maybe you can explain this
game-choosing process in a bit more detail? Without knowing any more,
letting the user choose which game he wants to play sounds like it
shouldn't be more complex than the server giving the client a list of
strings of game-names (like "Bob's l33t Server") and the client sending
back "Bob's l33t Server" in a request later on.
IOW, the poster who said that your second and third points are basically
the same is correct; the API you're designing needs to be looked at
specifically to see the optimal secure/easy solution.
Twisted | Christopher Armstrong: International Man of Twistery
Radix | Release Manager, Twisted Project
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://twistedmatrix.com/pipermail/twisted-python/attachments/20040520/cf51c453/attachment.pgp
More information about the Twisted-Python