[Python-Dev] #! magic

M.-A. Lemburg mal at egenix.com
Tue Jan 22 22:24:40 CET 2008


On 2008-01-20 19:30, Christian Heimes wrote:
> Yet another python executable could solve the issue, named "pythons" as
> python secure.
> 
> /*
>    gcc -DNDEBUG -g -O2 -Wall -Wstrict-prototypes -IInclude -I. -pthread
>    -Xlinker -lpthread -ldl  -lutil -lm -export-dynamic -o pythons2.6
> 
>    pythons.c libpython2.6.a
>  */
> 
> #include "Python.h"
> 
> int main(int argc, char **argv) {
>         /* disable some possible harmful features */
>         Py_IgnoreEnvironmentFlag++;
>         Py_NoUserSiteDirectory++;
>         Py_InteractiveFlag -= INT_MAX;
>         Py_InspectFlag -= INT_MAX;
> 
>         return Py_Main(argc, argv);
> }
> 
> $ ./pythons2.6
> Python 2.6a0 (:59956M, Jan 14 2008, 22:09:17)
> [GCC 4.2.1 (Ubuntu 4.2.1-5ubuntu4)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import sys
>>>> sys.flags
> sys.flags(debug=0, py3k_warning=0, division_warning=0, division_new=0,
> inspect=-2147483647, interactive=-2147483647, optimize=0,
> dont_write_bytecode=0, no_user_site=1, no_site=0, ingnore_environment=1,

Is this a copy&paste error or a typo in the code ----^ ?

> tabcheck=0, verbose=0, unicode=0)

To make this even more secure, you'd have to package this up
together with a copy of the stdlib, but like mxCGIPython does
(or did... I have to revive that project at some point :-):

http://www.egenix.com/www2002/python/mxCGIPython.html

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Jan 22 2008)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611


More information about the Python-Dev mailing list