Seite 1 von 1
Python code aus einer string variable auslesen und ausführen
Verfasst: Freitag 5. Juni 2009, 08:06
von stwe85
Hi, ich habe eine Variable (todo) in der mein Python code steht, welchen ich gerne ausführen möchte, aber leider nicht weiß "HowTo" .. kann mir zufällig jemand weiterhelfen?
Example:
todo="""
from system import os
var1=1
var2=1
var3=var1+var2
"""
Verfasst: Freitag 5. Juni 2009, 08:13
von Leonidas
Und warum hast du Code in einem String?
Verfasst: Freitag 5. Juni 2009, 08:16
von HerrHagen
Was du suchst ist exec bzw. eval:
MFG HerrHagen
Mal schaun wie lange es dauert bis die ersten erbosten Kommentare kommen, dass man exec/eval auf keinen Fall verwenden sollte...
EDIT: hmmm, ... es hat -3min gedauert... - schneller als gedacht
Verfasst: Freitag 5. Juni 2009, 08:17
von stwe85
ich lese diesen aus einer zentralen Quelle aus, in der ich Regeln für bestimme Prozesse hinterlege (DB-basiert).
Verfasst: Freitag 5. Juni 2009, 08:24
von stwe85
Perfekt "HerrHagen"
vielen Dank für die schnelle Hilfe

Verfasst: Freitag 5. Juni 2009, 09:06
von cofi
Ich hoffe du weisst, dass das ein ganz schlechter Ansatz ist

Was ist denn dein eigentliches Problem? Was willst du erreichen?
Verfasst: Freitag 5. Juni 2009, 09:50
von stwe85
hi, das der Ansatz nicht optimal hinsichtlich der technischen Umsetzung ist mag richtig sein aber aus Anwendersicht recht einfach.
Hintergrund:
Wir haben Python in unseren Applikationsserver integriert und wollen dem Anwender eine Möglichkeit geben in dem Systemstammdaten Regeln für bestimmte Prozesse in SQL oder Python zu hinterlegen die mehrfach verwendet werden können.
Verfasst: Freitag 5. Juni 2009, 10:27
von EyDu
Dir ist aber schon klar, dass der Anwender dann beliebigen Code mit den Rechten der Anwendung ausführen kann, oder? Was du vor hast ist eine ganz (ganz, ganz, ..) schlechte und gefährliche Idee. Wenn ein Anwender Regeln definieren können soll, dann biete eine eigene Sprache dazu an.
Verfasst: Freitag 5. Juni 2009, 10:59
von Dill
db sind auch immer eine potentielle sicherheitslücke.
mit dem vorgehen verschärst du die folgen eines erfolgreichen angriffs massiv.
Verfasst: Freitag 5. Juni 2009, 15:23
von stwe85
Keine angst Roles & Rights sind sicher
Nur weil ein Anwender diese FUnktionen nutzen kann heisst es nicht das es jeder kann
