Zur Navigation

Eintragungen

1 Frank

Hallo zusammen,

ich habe ein Anmeldeformular welches vor dem eintragen in die Datenbank auf bestimmte Kriterien überprüft wird. Erst wenn die Kriterien erfüllt sind, dürfen die Daten in die Datenbank eingetragen werden.

Gibt es eine Möglichkeit diese letzte Script zu überlisten und mit einer anderen Methode trotzdem Daten in die Datenbank einzutragen? Wenn ja, wie kann ich das verhindern?

Gruß Frank

05.03.2007 12:05

2 Jörg Kruse

Hallo Frank,

so pauschal kann man das nicht sagen, es kommt ganz darauf an, wie und an welchen Stellen das Script was überprüfst. Wichtig ist in jedem Fall, dass das die Daten nach der letzten Übermittlung geprüft werden (was du aber vielleicht schon mit dem Ausdruck "letztes Script" meinst?). Darüber hinaus können Überprüfungen aber auch fehlerhaft oder unzureichend sein. Das müsste man dann am konkreten Beispiel diskutieren

05.03.2007 12:29 | geändert: 05.03.2007 12:29

3 Frank

Hi Jörg,

also das letzte Script führt erst dann das Eintragen in die Datenbank aus, wenn die vorherigen Kriterien stimmen! Das klappt auch wunderbar!

Eigentlich sollte es nur beim aufrufen der letzten Seite nicht funktionieren, da die benötigten Angaben zum absenden sich individuell in den vorherigen Seiten befinden.

Daher meine Frage ob man per CGI o.ä. trotzdem einen Eintrag vornehmen könnte?

Gruß Frank

05.03.2007 12:44

4 Jörg Kruse

Das häbngt davon ab, ob deine Scripte Sicherheitslücken aufweisen - ob diese z.B. ausreichend gegen SQL-Injections gesichert sind, oder ob sich interne Variablen von außen einfügen lassen.

05.03.2007 13:26 | geändert: 05.03.2007 13:33

5 Rudy

Ein paar Sicherheits-Grundregeln:

- initialisiere alle Variablen die Du verwendest (geht bei PHP ganz schnell, weil es Mehrfachzuweisungen zulässt, z.B. $a = $b = $c = NULL)
- kein eval und solcher Mist, besonders nicht in Verbindung mit Benutzerdaten
- vertraue in keine Benutzereingaben; Benutzereingaben sind grundsätzlich ein Sicherheitsrisiko :) Dazu gehören nicht nur gepostete Formulardaten, sondern auch GET- und Cookie-Parameter.
deshalb:
- prüfe alle Typen der Benutzereingaben (am besten über zentralisierte Prüffunktionen, das minimiert die Fehler)
- escape alles, was Du irgendwie als string in eine Datenbankoperation (query) einbeziehst (mysql_real_escape_string)

05.03.2007 18:58 | geändert: 05.03.2007 18:59

6 Frank

Hi Rudy,


- prüfe alle Typen der Benutzereingaben (am besten über zentralisierte Prüffunktionen, das minimiert die Fehler)
- escape alles, was Du irgendwie als string in eine Datenbankoperation (query) einbeziehst (mysql_real_escape_string)


kannst Du mir das genauer Erklären? Da stoße ich an meine Grenzen! :-)

Gruß Frank

06.03.2007 08:31

7 Jörg Kruse

- prüfe alle Typen der Benutzereingaben (am besten über zentralisierte Prüffunktionen, das minimiert die Fehler)

Auf SELFHTML ist beispielhaft eine Funktion zur Prüfung der Gültigkeit von Emailadressen aufgeführt (unter PHP):

http://aktuell.de.selfhtml.org/artikel/programmiertechnik/email/

- escape alles, was Du irgendwie als string in eine Datenbankoperation (query) einbeziehst (mysql_real_escape_string)

Zu mysql_real_escape_string() findest du auf php.net eine Erklärung mit Beispielen:

http://de.php.net/mysql_real_escape_string

06.03.2007 09:38

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]