http://laravel.com/docs/eloquentによれば、モデル内の保護された$ hidden変数を使用して、配列またはJSON変換から属性を隠すことができます。 print_r(User::all())
を実行するときに隠された属性。例えばパスワードセキュリティ
class User extends Eloquent {
protected $hidden = array('password');
}
グレートは、しかし、暗号化されたパスワードは、ユーザーオブジェクトの内部サーバからクライアントに送信されます。
これはprint_r()に限定されているわけではなく、特定のユーザが照会された場合、$user->password
は暗号化されたパスワードをビューに表示します。
これを停止する方法はありますか?私のユーザーオブジェクトが照会されるたびに、パスワードはデータの一部として送信されますが、必ずしもそうである必要はありません。
Illuminate\Database\Eloquent\Collection Object
(
[items:protected] => Array
(
[0] => User Object
(
[hidden:protected] => Array
(
[0] => password
)
[connection:protected] =>
[table:protected] =>
[primaryKey:protected] => id
[perPage:protected] => 15
[incrementing] => 1
[timestamps] => 1
[attributes:protected] => Array
(
[id] => 1
[email] => [email protected]
[first_name] => Admin
[last_name] => User
[password] => $2y$10$7Wg2Wim9zHbtGQRAi0z6XeapJbAIoh4RhEnVXvdMtFnwcOh5g/W2a
[permissions] =>
[activated] => 1
[activation_code] =>
[activated_at] =>
[last_login] =>
[persist_code] =>
[reset_password_code] =>
[created_at] => 2013-09-26 10:24:23
[updated_at] => 2013-09-26 10:24:23
)
「$ user-> password」について – Gravy
あなたのコードで使用するかどうかは、あなたの責任です。これが機密データだと思う場合は、ビューに書き込まないでください。 :) –
私はあなたに同意します。しかし、なぜあなたはオブジェクトを介してではなく、jsonや配列リクエストを介して自動的に保護することができますか? – Gravy