RPCs und Sicherheit

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
tabellar
User
Beiträge: 186
Registriert: Mittwoch 4. September 2002, 15:28

Im Pythonwiki wird das Thema Python und Sicherheit gerade angeschnitten.
Eval, exec und co sollte man ja "normalerweise" :roll: nicht verwenden. Ich
bin gerade an einer Anwendung dran, wo ich bisher eigentlich XML für RPCs
verwenden wollte, der Einfachheit her wegen und bestärkt durch einen Artikel
im IX, möchte ich jetzt aber JSON (JavaScript oriented Notation) verwenden.
Das ist ein ganz normales Dict als String, welches über das Netzwerk geschickt
wird. Mit der eval Funktion erweckt man das String-Dict wieder zum
Leben (fast schon ne Art Serilisation ...). Bevor man die Dict MESSAGE mit
eval wieder rücktransformiert, kann man natürlich den String auf "böse" Dinge
untersuchen. Kennt Ihr zu eval() eine Alternative :roll:???

Tabellar
Zuletzt geändert von tabellar am Dienstag 10. Januar 2006, 10:33, insgesamt 1-mal geändert.
BlackJack

Wie wär's mit einem JSON Parser? Es gibt mehrere davon im Netz. Du solltest auch das Dictionary nicht einfach so mit ``str(dict_obj)`` erzeugen, weil JSON und Python Syntax nur ungefähr übereinstimmen. Zum Beispiel gibt's in JSON keine Zeichenketten in einfachen Anführungsstrichen, Python benutzt die aber standardmässig wenn in der Zeichenkette selbst kein einfacher Anführungsstrich vorkommt.

Auf der anderen Seite kommt `eval()` auch nicht mit jedem JSON Ausdruck zurecht. An Kommentaren verschluckt es sich zum Beispiel.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Warum nicht ein XML draus erzeugen und mit Javascript wieder zerlegen? Ist zwar mehr Arbeit, aber garantiert sicher und auch von anderen Sprachen lesbar.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

blackbird hat geschrieben:Warum nicht ein XML draus erzeugen und mit Javascript wieder zerlegen? Ist zwar mehr Arbeit, aber garantiert sicher und auch von anderen Sprachen lesbar.
Hattest du dir dafür nicht ein Framework geschrieben???

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
tabellar
User
Beiträge: 186
Registriert: Mittwoch 4. September 2002, 15:28

Mir ging's ja eben um XML oder JSON, nicht noch zusätzlich eine
Vermischung :D . Mein Nachrichtenformat, das ich verwenden möchte,
ist eine Mischung aus dem Jabber (XML) und RPC Protokoll. Ich brauch
im Moment nicht unbedingt die Standard Protokollformate. Obwohl ich den
schnellen PyRXP XML Parser von reportlab.org verwende, ist das ganze
mit JSON natürlich noch einfacher. Ein JSON Parser ist wahrscheinlich der
richtige Weg und wenn man dann sowas ähnliches wie eine DTD bei XML für
JSON zur Validierung verwendet, kann man dann doch eine gewisse Sicherheit
erreichen, oder?

Tabellar
Antworten