[Ironpython-users] Restrict referencing of assemblies in hosted environment

Markus Schaber m.schaber at 3s-software.com
Thu Oct 18 09:44:07 CEST 2012


Hi, Jeff,

> Von: Jeff Hardy [mailto:jdhardy at gmail.com]
> On Wed, Oct 17, 2012 at 3:08 AM, Markus Schaber <m.schaber at 3s-
> software.com> wrote:
> > We're using IronPython as a hosted script engine in our application.
> 
> > Now, we want to restrict the assemblies a user can reference from its
> > python script,
> >
> > Currently, we just forbid "import clr", by wrapping the import()
> > method, but this is a bit harsh, and the side-effects are a little bit
> to strong (e. G.
> > it causes "import minidom.py" to fail...)
> >
> 
> I'm pretty sure that importing of CLR classes also goes through
> __import__(). So you should be able to blacklist/whitelist whatever
> classes you want that way. This doesn't prevent loading the assemblies,
> but it does make the classes more difficult to access.
> 
> If whatever hook you're using to block `import clr` doesn't fire for
> `import System` as well, file an issue. And patch, preferably :).

It also fires for "import System".

However, this is a different granularity - our "natural" granularity in our existing framework is assemblies, and __import__() works on python modules and .net namespaces, and sometimes a namespace contains members from different assemblies.

I think I'll go with wrapping all the import methods on the clr module then.

Best regards

Markus Schaber
-- 
___________________________
We software Automation.

3S-Smart Software Solutions GmbH
Markus Schaber | Developer
Memminger Str. 151 | 87439 Kempten | Germany | Tel. +49-831-54031-0 | Fax +49-831-54031-50

Email: m.schaber at 3s-software.com | Web: http://www.3s-software.com 
CoDeSys internet forum: http://forum.3s-software.com
Download CoDeSys sample projects: http://www.3s-software.com/index.shtml?sample_projects

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915 


More information about the Ironpython-users mailing list