wie ästhetisch ist mein code?

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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 29. Juni 2006, 18:19

murph hat geschrieben:aber das lößt nicht das problem, wenn einer "; DROP users" heißt...

Nein, welches Problem sollte es dann lösen? "; DROM users" ist eine typische SQL_Incejtion und eben dafür hat BlackJack das Lösungsverfahren aufgezeigt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Donnerstag 29. Juni 2006, 18:27

soweit, wie ich das verstanden habe, ist das, um weitere befehle anzunehmen.

Code: Alles auswählen

>>> def a(*args):
...     print args
...
>>>
>>> a()
()
>>> a("hallo")
('hallo',)
>>> a("hallo","du")
('hallo', 'du')

aber wieso soll das vor dem usernamen ";DROP users" schützen?
da habe ich leider noch zu wenig erfahrung, um da einen zusammenhang zu sehen.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 29. Juni 2006, 21:52

murph hat geschrieben:aber wieso soll das vor dem usernamen ";DROP users" schützen?

Stimmt, das was du gemacht hast, schützt keinen deut. Aber lies doch mal genauer was BlackJack geschrieben hat:
BlackJack hat geschrieben:Und neben `sql` sollte es noch einen extra Parameter für eventuelle Argumente geben die dann als zweites Argument an die `execute()` Methode des Cursors übergeben werden um SQL-Injection Angriffe zu verhindern.


Und jetzt noch ein Link dazu.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Freitag 30. Juni 2006, 14:57

ich habs gefunden:
That's all there is to it. Pass y as a parameter, and all your cracker will do is set the value of name to their string, as pysqlite will trawl through and make sure there are no double quotes within the string to be inserted.

vorhaer wusste ich gar nichts von dieser zusatzfunktion von pysqlite2.
naja, wenn man ein modul nicht gut genug kennt.......
x,X
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 30. Juni 2006, 15:43

murph hat geschrieben:vorhaer wusste ich gar nichts von dieser zusatzfunktion von pysqlite2.

Das ist keine Zusatzfunktion von PySQLite sondern Teil des PEP 249: DB-API 2.0 und wird daher von allen DB-API 2.0 kompatiblen Bindings bereitgestellt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder