#jquery #html #cakephp
#jquery #HTML #cakephp
Вопрос:
я очень новичок в этом cakephp, и я получил задание исправить проблему, мы запускаем интернет-магазины на платформах brandx и brandstores cakephp.
У меня есть модель CakePHP — User. Я храню некоторые данные в этих системах и другие данные локально, если пользователь существует в таблице, тогда он позволяет войти в хранилище, но если пользователь не существует в таблице, тогда он должен создать этого пользователя, и пользователь должен войти в хранилище, а не создавать пользователя, которого он использует.отображается
пользователь с этим идентификатором отсутствует в нашей системе, пожалуйста, свяжитесь с администратором, я пытаюсь создать нового пользователя, передав имя пользователя и пароль в url, как указано ниже:
"http://mystorename.domainname.com/pages/index/username:" username "/password:" password);
если я вставляю нового пользователя в таблицу, он успешно входит в систему, но не может создать нового пользователя.
Я не могу найти способ сделать это. как я могу исправить эту проблему, может кто-нибудь сказать мне, как это сделать? извините за мой плохой английский. Заранее спасибо..
Вот код, пожалуйста, помогите исправить это
if(!empty($user_data)) {
if($user_data[$this->userModel]['active']==2)
{
$this->Session->setFlash('accout disabled');
return false;
}
$user_data_logged = $model->find('first',array('conditions'=>$login_filter));
if(!empty($user_data_logged))
{
$model->save(array( 'id'=>$user_data[$this->userModel]['id'], $this->fields['recent_login']=>date('Y-m-d H:i:s'),
$this->fields['login_attempts']=>0 ) );
$this->Session->write('Auth.'.$this->userModel,$user_data[$this->userModel]);
$status = $this->shout("LOGIN_SUCCESS",$points);
$this->authRedirect();
return true;
}
else
{
$login_attempts_made = $user_data[$this->userModel][$this->fields['login_attempts']];
$model->save(array( 'id'=>$user_data[$this->userModel]['id'],
$this->fields['login_attempts']=>$login_attempts_made 1 ) );
if($user_data[$this->userModel][$this->fields['login_attempts']]>=$this->max_login_attempts)
{
$model->save(array( 'id'=>$user_data[$this->userModel]['id'], 'active'=>2 ) ); $this->Session->setFlash($this->max_login_attempts.'
login attempts over... accout disabled');
return false;
}
}
} else {
$employee_id = $data[$this->fields['username']];
$user_data = $model->create('first',array('conditions'=>array($this->fields['username']=>$data[$this->fields['username']],$this->fields['password']=>$data[$this->fields['password']])));
$model->save(array($this->fields['username']=>$data[$this->fields['username']],$this->fields['password']=>$data[$this->fields['password']]));
//$this->Session->setFlash("$employee_id User with this employee id is not available in our system. for more details amp; registration
contact admin@domain.com");
//$status =$this->shout("LOGIN_FAIL",$employee_id);
//return false;
}
Ответ №1:
Выполнение этого: "http://mystorename.domainname.com/pages/index/username:" username "/password:" password);
крайне небезопасно. Вы не должны передавать пароли людей незащищенными в таком URL-адресе.
Кто-то другой может просто просмотреть историю своего браузера (или даже использовать javascript) и увидеть свой пароль.
Вы хотите запомнить корзину пользователя, а затем направить пользователя на страницу регистрации. Как только пользователь завершит регистрацию, сохраните для него свою корзину.
Затем они могут вернуться к проверке в любое время, когда захотят, со своими предыдущими элементами.