latest news

2008-11-09 19:33:42

Umstellung und Migration

2 Comments

unanswered questions

2008-10-30 13:34:21

Syndication Feed-Problem

0 Replies

2008-11-17 16:49:19

dynamische urlpatterns...

2 Replies

2008-12-22 02:46:20

Fragen zu pagination ~~

1 Replies

Board » Django das Framework » Sicherheit » Allgemeine Frage zur GET und POST Validierung

Mich würde zum Thema Sicherheit interessieren wie Django bzw. Python mit den
Daten aus z.b. einem Formular umgeht. Da ich ja noch recht neu dabei bin, fallen mir
Schlagwörter wie "sql injections" oder "css atacken" ein.

Was muss ich hier beachten?

Gruß,
Sascha
Moin moin,

soweit ich weiss musst Du Dir um SQL-Injection keine Gedanken machen, das wird durch die Model-API abgefangen. XSS ist da eine andere Sache, bei der Ausgabe von Formularinhalten musst Du die escapen, das geht im Template folgendermaßen:

{{ foo|escape }}

Wenn Du die aktuelle svn-Version von Django benutzt hat sich da was getan:
http://code.djangoproject.com/changeset/6671

Implemented auto-escaping of variable output in templates. Fully controllable by template authors and it's possible to write filters and templates that simulataneously work in both auto-escaped and non-auto-escaped environments if you need to.


Hört sich auf jeden Fall interessant an, hab ich aber noch nicht weiter ausprobiert.

Gruß
Jan


Hallo jan,

nach deinem Tipp mit {{ foo|escape }} habe ich dann auch etwas nachgelesen.
Tatsächlich schützt die standart api von Django vor SQL Injections, nur bei den
selbstgestrickten SQL Befehlen muss zusätzlich die unter-api methode "execute"
benutzt werden.

Um XSS Atacken zu vermeiden muss laut doku genau so verfahren werden wie du es
geschrieben hast. ;)

Danke nochmal,
Sascha
Ah ok, gut zu wissen mit execute, ich muss gestehen, ich hab bei Django bisher noch nicht von eigenem SQL gebrauch gemacht ;-)

Gruß
Jan