0

$this->request->dataセキュリティ上の理由から、許可されていないすべてのフィールドを配列からフィルター処理したいと考えています。

たとえば、私の$this->request->data見た目は次のようになります。

array(
    'User' => array(
        'password' => '*****',
        'email' => 'asd@asdasd.de'
    )
)

そして、このフィルターを上記の配列に適用したい:

array(
    'User' => array(
        0 => 'password',
        1 => 'email'
    )
)

したがって、filter-Array にないポストデータのフィールドはすべて設定解除されます。

4

2 に答える 2

0

これが意味を成す唯一の理由は、登録/ログイン アクション中に、無効化すると何らかの方法でパスワードが再度出力されることです。

ビューに再度渡す前に、空に設定する必要があります。

if ($this->Auth->login()) {
    // flash message
    return $this->redirect($this->Auth->redirectUrl());
}
$this->request->data['User']['password'] = '';

例については、 https://github.com/dereuromark/cakefest/blob/master/Controller/AccountController.php#L26を参照してください。

于 2013-08-15T19:51:00.203 に答える