grundbefehle überschreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

hi!
ich würde gerne bei mir bei dem sqlite-server einige eingabaute funktionen überschreiben für den client.
als beispiel dictionary.keys()
dort sond die verbindungsdaten gespeichert, die man nur als root sehen können sollte, um das hacken zu erschweren.
in dem fall geben ich zu, dass ich mir sonst nicht so gerne gedanken machen möchte, ob und wie ich es sonst verhindern kann, das erscheint mir als die sicherste möglichkeit.
und damit ich noch nicht mehr fragen muss (beim import war es schon mal), wäre auch ein link sehr pratkisch, hab leider nichts gefunden!
:-) thx
woolfy
User
Beiträge: 19
Registriert: Montag 6. Februar 2006, 15:14
Wohnort: Stuttgart

Hallo murph,

leider verstehe ich nicht so recht, was du möchtest..
Aber vielleicht hilft dir dieser Beitrag schon weiter:
http://www.python-forum.de/topic-4918.h ... t=userdict

Gruß
Jens
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Hi Murph,

ich kann das nicht so ganz nachvollziehen.

Wer zugriff auf deine programmstrukturen hat wird auch immer an passwörter des programms kommen.

Und ganz ehrlich: ich halte es für schwachsinn standard datentypen deswegen zu 'hacken'.

Dann halte die PWs eben nur encrypted vor und decrypten wenn benötigt, das dürfte aber einiges an rechenzeit verbrauchen.

(Sollte ich das problem falsch interpretiert haben vergiss das einfach alles :-b)
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

also Mad-Marty, ich habe nun einfach festgelegt, dass der Befehl im dic vorkommen muss, das ist in meinem fall realisierbar.
den zugang hat man nur über funktionen, da der skript importiert wird oder selbst ausgeführt.
aber falls jemand die lösung kennt, trotzdem posten...ich war vor ewigkeiten mal auf einer seite, wo die einzelnen befehle aufgelistet wurden, aber ich weiß nicht mehr, ob man sie so einfach überschreiben konnte...
aber ich glaube, dass man immer versuchen sollte, das alles über funktionen zu regeln, aber vllt hab ich da mal nicht die lösung......
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Vielleicht meinst du das hier:
http://de.wikibooks.org/wiki/Python-Pro ... assen#dict

Schau dir auch mal den Quellcode hier an:
http://svn.python.org/view/python/trunk ... iew=markup

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

THX!
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Ich gebe Mad-Marty recht, der versuch, dadurch die Sicherheit zu erhöhen ist zum scheitern verurteilt.

Wenn ich dich richtig verstanden habe, hast du sowas gemacht, damit keiner die keys sehen kann:

Code: Alles auswählen

class RestrictedDict(dict):
  def keys(self):
     """ vermeintlicher schutz """
     return ()
Das sorgt für folgenden Effekt:

Code: Alles auswählen

rd = RestrictedDict()
rd[1] = 'top secret'
print rd.keys() # gibt () aus
print rd[1] # gibt 'top secret' aus
Das hindert aber niemanden daran, zB sowas zu tun:

Code: Alles auswählen

print dict.keys(rd) # gibt die keys aus, wie sie normalerweise ausgegeben werden
Um mal ein sinngemäßes Zitat von einem Profi zu bringen:

Es gibt nur zwei Arten von [Sicherheit]: Die eine hält ihre kleine Schwester davon ab, ihre Briefe zu lesen, die andere Jeden, inklusive Geheimdienste.

Dies hier ist eine Sicherheit der 1. Art.

Edit (jens): Code-Tags korrigiert ;)
Edit (keppla): Danke, und sorry. Wurde "rausgeworfen"
Antworten