Olá galera! Sou novato na área e tenho a seguinte dúvida. Como faço para encriptar o campo password em md5 dentro do Model, pois o yii cria um arrai com as variáveis do post, mas salva os sem encriptar os dados.
Valeu!
Olá galera! Sou novato na área e tenho a seguinte dúvida. Como faço para encriptar o campo password em md5 dentro do Model, pois o yii cria um arrai com as variáveis do post, mas salva os sem encriptar os dados.
Valeu!
Weslei,
Olha esse link:http://www.yiiframework.com/forum/index.php/topic/3133-registration-forms-little-tips/
A princípio o tratamento é feito no model, na função Rules.
Só não sei como tratar o campo password com md5 no model.
Wesley,
Usa a combinação de sha1() + chave secreta. Assim você evita de alguem saber qual a senha é.
Digo isso, por que somente md5() qualquer um consegue descobrir a senha usando o google, pegando a combinação do md5(), existem inumeros sites que tem uma porrada de lista md5().
Isto vale também para sha1().
Ou então você colocar uma verificação do nivel da senha, assim melhora a combinação da senha em md5() ou sha1() evitando que a seguência de caracteres seja descobrida.
Olá galera! Fuçando um pouco mais e vendo alguns forums, consegui alterar o valor do password antes do insert no banco. Segue abaixo o procedimento:
1 - No arquivo model coloque a seguinte função:
public function beforeSave()
{
$pass = md5(md5($this->password).Yii::app()->params["salt"]);
$this->password = $pass;
return true;
}
2 - Agora no arquivo "Controller", altere o código da função "actionCreate" para seguinte forma:
Creates a new model.
*/
public function actionCreate()
{
$model=new Users;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if(isset($_POST['Users']))
{
$model->attributes=$_POST['Users'];
if($model->beforeSave()){
if($model->save())
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
Com isso resolvemos o problema com os passwords. Levando em conta que na função que gera o md5, nós temos a geração de um md5 a partir de outro.
Obrigado a todos que me ajudaram!