On Aug 19, 2:50 am, Hajo Kliemeck <[EMAIL PROTECTED]> wrote:
> Wenn ich ein Eintrag in der Datenbank machen will, sagen wir eine
> Registratur für einen Benutzer dann habe ich ein Formular mit z.B.
> Kontaktdaten und natürlich das zukünftige Password. Wenn ich jetzt ein
> böser Webuser bin und einfach ein input wie data[MODEL][id] noch im
> Quelltext einfüge und die seite einfach auf meinem Pc speichere, dann
> das manipulierte Formular abschicke wird komischerweise NICHT ein
> Eintrag in der Datenbank hinzugefügt sondern der Eintrag mit der
> zusätzlich eingefügten id geupdated trotz das ich mit Model::create()
> vorher ein Hinzufügen ankündige. Damit könnte jemand das Password
> eines Admins überschreiben :/
Ja, solche Manipulationen sind tatsächlich möglich. Du hattest ja
geschrieben, dass eine Whitelist nicht funktioniert. Was genau hast Du
da gemacht? So geht es auf jeden Fall:
$saveable = array('firstname', 'lastname', 'modified');
$this->User->save($this->data, true, $saveable);
Egal, was alles in $this->data steht, werden so trotzdem nur die drei
Felder firstname, lastname und modified gespeichert.
> Jetzt frag ich mich aber warum wird trotz dem create bei Model::save
> mit "$this->set($data);" eine ID gesetzt obwohl ich ein create
> angekündigt habe.
Du "kündigst" kein create an, mit dem create() wird nur $this->id im
Model entfernt.
> Ich habe daher mich auch mit einer Whitelist versucht, aber dies
> überprüft nur den input von $this->data und nicht $this->id.
# sicherstellen, dass $this->User->id entfert wird
$this->User->create();
# Daten mit Whitelist speichern:
$saveable = array('firstname', 'lastname', 'modified');
$this->User->save($this->data, true, $saveable);
Viele Grüße,
Dirk
--~--~---------~--~----~------------~-------~--~----~
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe
"CakePHP-de für deutsche CakePHP Entwickler".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL
PROTECTED]
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---