Request for help: arbitrary user code
KevinL
darius at bofh.net.au
Mon Dec 4 21:49:52 EST 2000
I've been working on a program for a while that executes arbitrary
user-provided code, and I'm trying to setup a secure, reasonably fast way of
doing such. The code is generally provided as functions which are compiled
and executed multiple times in a sort of fake-binding to various objects.
I'm running into a problem with the way python handles namespaces for said
functions - that it binds them at function compilation rather than at function
call, and that they must be dictionaries. My first response was that
immutable dictionaries would solve the problem - the other possibility I've
come up with recently is that being able to change func.func_globals on the
fly would also solve this.
Anyway, I was hoping to get some comments from better minds than my own, so
I've setup a zope wiki page explaining the problem I'm having - it's at
http://www.bofh.net.au/mud/doc/zwiki/GlobalNamespace
I'd love to solve this problem - without a good solution, it is starting to
look like python just isn't suited for providing a multi-user scripting
platform, which would be depressing, as in most other ways it's near-perfect...
This one problem is prooving intractable for me, tho :(.
TIA,
KevinL
More information about the Python-list
mailing list