Beste Sitedealers,
Vandaag ben ik bezig met een systeem waarbij gebruikers hun wachtwoord kunnen veranderen. Nu heb ik de volgende public function aangemaakt in mijn UserController:
Het probleem nu is dat als een gebruiker is ingelogd diegene de id in de url kan wijzigen en zo het wachtwoord van een andere gebruiker kan wijzigen. (Voorbeeld URL: http://domain.com/login/user/change/id/9).PHP Code:
public function changeAction()
{ $oForm = new Application_Form_Change(); $oUser = $this->_oServiceUser->getUser($this->_getParam('id')); $aUser = $oUser->toArray(); unset($aUser['password']); $oForm->setDefaults($aUser); if ($this->getRequest()->isPost()) { $aFormData = $this->getRequest()->getPost(); if ($oForm->isValid($aFormData)) { /*if ($oUser->user_id == 1 || $oUser->user_id == 2 || $oUser->user_id == 3) { $this->_helper->flashMessenger->setNamespace('error')->addMessage('This is not possible in the demo.'); } else {*/ $this->_oServiceUser->updateUser($aFormData, $oUser->user_id, false); //} $this->_helper->flashMessenger->setNamespace('success')->addMessage('Profile updated successfully.'); $this->_redirect('/'); } } $this->view->oForm = $oForm; }
Nu wil ik dit graag netjes oplossen zodat dit niet meer mogelijk is. Zelf heb ik al wat lopen klooien met getIdentity(); etc, maar helaas zonder geluk.
Iemand tips of aanwijzingen hoe ik dit het beste kan doen?
Alvast bedankt voor jullie reacties.
Met vriendelijke groet,
Maurizio Giordano
- Zend Framework ID ingelogde gebruiker
-
05-12-2013, 19:24 #1
- Berichten
- 79
- Lid sinds
- 15 Jaar
Zend Framework ID ingelogde gebruiker
-
05-12-2013, 19:26 #2
- Berichten
- 79
- Lid sinds
- 10 Jaar
Re: Zend Framework ID ingelogde gebruiker
http://www.phpeveryday.com/articles/...tion-P566.html
PHP Code:public function userPageAction(){ $auth = Zend_Auth::getInstance(); if(!$auth->hasIdentity()){ $this->_redirect('/user/loginform'); } $request = $this->getRequest(); $user = $auth->getIdentity(); $real_name = $user->real_name; $username = $user->username; $logoutUrl = $request->getBaseURL().'/user/logout'; $this->view->assign('username', $real_name); $this->view->assign('urllogout',$logoutUrl); }
-
05-12-2013, 19:46 #3
- Berichten
- 79
- Lid sinds
- 15 Jaar
Re: Zend Framework ID ingelogde gebruiker
Nu heb ik dit ervan gemaakt:
PHP Code:public function changeAction()
{ $auth = Zend_Auth::getInstance(); if(!$auth->hasIdentity()) { $oForm = new Application_Form_Change(); $oUser = $auth->getIdentity(); $aUser = $oUser->toArray(); unset($aUser['password']); $oForm->setDefaults($aUser); if ($this->getRequest()->isPost()) { $aFormData = $this->getRequest()->getPost(); if ($oForm->isValid($aFormData)) { /*if ($oUser->user_id == 1 || $oUser->user_id == 2 || $oUser->user_id == 3) { $this->_helper->flashMessenger->setNamespace('error')->addMessage('This is not possible in the demo.'); } else {*/ $this->_oServiceUser->updateUser($aFormData, $oUser->user_id, false); //} $this->_helper->flashMessenger->setNamespace('success')->addMessage('Profile updated successfully.'); $this->_redirect('/'); } } $this->view->oForm = $oForm; } }
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic