Folgende Funktion, welche mitunter auch von globalen Namen abhängig ist:
Code: Alles auswählen
def func(arg1, arg2):
a = arg1.get('something')
do_something(arg2)
...
Code: Alles auswählen
def func(arg1, arg2):
a = arg1.get('something')
do_something(arg2)
...
Auf dem Server, der die Daten liefert, läuft kein Python. Auf irgendeinem Rechner muss aber Python laufen, sonst können man ja nichts per Netzwerk übertragen.schorsch hat geschrieben:Wenn auf dem Server kein Python laufen darf fällt RPC auch raus, es sei denn, du willst eine andere Sprache nutzen, die dort erlaubt ist.
Das ist aus Sicherheitsaspekten eine wirklich schlechte Idee!Noah hat geschrieben:Ähm.. wie wäre es, den code als string zu Übertragen und dann per exec() auszuführen?
Das ist das gesamte Konzept ja schon. Wenn man den Code nicht zumindest signiert und vor dem Ausführen prüft ist jegliche Übertragung von Code über Netzwerke eine grandiose Sicherheitslücke.Hyperion hat geschrieben:Das ist aus Sicherheitsaspekten eine wirklich schlechte Idee!
Das kann man auch eleganter Lösen, da CPython es erlaubt in die Import-Interna einzugreifen und dort eigenen Code auszuführen der etwa Module runterlädt, Signaturen prüft etc.Noah hat geschrieben:a) Abspeichern und Importieren