Die vars hatte ich eigentlich escaped, aber leider hat das gar nicht funktioniert. Das sind noch recht alte versionen. In den neueren überprüfe ich die vars und escape die natürlich mit addslash().
Das Passwort wollte ich nciht verschlüsseln, da ich zu faul bin, ne passwort vergessen funktion zu schreiben ^^
so kann der admin in die datenbank gucken und das zurücksetzen oder so.
Aber wenn ich das irgendwann mal veröffentlichen sollte, kommt das natürlich dazu
Achja, ich escape eigentlich doch nicht beim login ^^
aber beim rest, komisch ^^
Registration Date: 18.11.2007
Posts: 557
Location: London
Program: Zend Studio
Forums: Coding; International Section
So jungs, ich habe das hier ein wenig beobachtet und kann nur noch mit dem kopf schuetteln. Was ist das fuer eine Code Qualitaet die hier dem User vorgeworfen wird?
So eine Misch Masch Wichse von html und php, unverschluesselte pws in der datenbank, security = 0, faulheit und absolute Unwissenheit, von dem was hier ueberhaupt getan wird. Eurer Engagement und Arbeit in Ehren, super dass ihr anderen helfen wollt, aber helft mit sachen die ihr koennt, denn das was hier bis jetzt produziert worden ist, hilft niemanden, es wirft eher grosse Angriffsmoeglichkeiten fuer seinen Dienst und es ist absolut nicht zu raten, dass zu benutzen.
Ich habe hier mal was kleines programmiert, ich denke, dass andere User davon auch profitieren koennen und vielleicht ihr wissen ausbauen koennen, ich empfehle es trotzdem nicht online zu benutzen alleine aus dem grund, jeder mensch der die seite aufruft kann sachen eintragen. Sicherheit kann noch wieter ausgebaut werden zur Zeit:
Prepared Statements
Anti Spoofing
Zusagen ist:
url aendern von http://localhost/formular in eure URL
es ist nicht fertig entwickelt folgendes steht auf der todo:
php:
- fehlermeldungen ausgeben fuer den user
- frontend fuer aendern funktion
- email ueberpruefung
java script:
- ueberpruefung der formular daten
Was man bis jetzt machen kann:
User eintragen
Alle user anzeigen lassen
Loeschen (ajax)
Die Funktion zum Editieren eines Users ist bereits drinnen, jedoch wird sie nicht aufgerufen im Frontend, es sollte aber ein Kinderspiel sein, diese aufzurufen, gegebenfalls mit einem preedit und einer block.ui von jquery
Na genau dafür habe ich den post ja gemacht nech ^^
Ich vergleiche das nochmal mit meinem code und schaue ob da echt so viele differenzen sind.
Ich habe ja wie gesagt fast alles noch mal neu geschrieben.
Original von CrAc
Du kannst doch nicht direkt die $_POST-Variablen in die Datenbank schreiben o0 – oder?
escape die vorher:
php:
1:
mysql_real_escape_string($_POST["uname"])
Sicher ist sicher. (Oder unnötig?)
Nein ist nicht unnötig! Ist zwingend erforderlich wenn man nicht mit Prepared Statements arbeitet -kann aber auch dann nicht schaden- sonst ist es ohne Probleme möglich die Datenbank nach Wunsch zu manipulieren.
Außerdem bei der Ausgabe von Benutzerdaten. (z.B. Daten die man aus der Datenbank holt und ausgeben will die von einem Nutzer kamen) die Funktion.
php:
1:
htmlspecialchars(<variable>, ENT_QUOTES);
anwenden!
Anderfalls kann man eigenen Html Code in die Seite unterjubeln.
(Kann man zum Beispiel als Benutzernahmen den Html-Tag einer Meta-weiterleitung wählen, sobald der Username nun irgendwo angezeigt wird hat man ne Weiterleitung drin. So kann man Schadcode unterjubeln auch z.B. JavaScript)
Und logi: ne Fehlermeldung/Beschreibung würde helfen
Grüße Q
This post has been edited 2 time(s), it was last edited by Quad: 21.01.2010 13:02.
If you were enjoying this post and if you keen on reading more interesting stuff then do not hesitate to complete the free sign up.
After the free registration you will gain access to all areas and you will be able to communicate with other artists from all over the world.
In addition you will benefit from our Photoshop and coding section as well as from our huge (hundreds of gigabytes) free resource section where you can find everything you will need to be a successful (web) designer/artist.
Sign up now and enjoy the advantages as a registered member.
(This website will be ad-free after a complete free sign up.)