attr_accessible :email, :password, :password_confirmation
Если нет, можете ли вы привести пример метода, который предотвращает ошибку «undefined» при удалении attr_accessible.Можно ли установить поле пароля как attr_accessible?
attr_accessible :email, :password, :password_confirmation
Если нет, можете ли вы привести пример метода, который предотвращает ошибку «undefined» при удалении attr_accessible.Можно ли установить поле пароля как attr_accessible?
Это безопасно. Attr_accessible опасен только для атрибутов, управляющих вашей логикой приложения. Например, если у вас есть флаг, который говорит «да, я проверил, что этот пользователь является администратором», и он может быть установлен пользователем вместо этого, потому что это attr_accessible, то это уязвимость.
Поскольку пароль представляет собой часть информации, предоставляемую пользователем в любом случае, что делает ее настраиваемой одним и тем же пользователем, ничего не меняет.
Если вы параноик безопасности, вы могли бы сделать это определение пароля метод:
def password
self.password
end
таким образом пароль не может быть установлен вручную.
Но вы не должны беспокоиться об этом, потому что многие логины для входа, такие как devise, нуждаются в пароле в attr_accessible.
га). Я не параноидальный, но, поскольку я просто не знаю, как работает хакер, я не могу сказать, как эти проблемы отражают безопасность. Я просто знал, что это как-то связано с безопасностью) –
Зачем вам нужен пароль? – ant
? потому что когда пользователь аутентифицируется, от контроллера я проверяю, соответствует ли входной пароль в DB –