forked from GNUsocial/gnu-social
		
	CSRF protection in emailsettings
darcs-hash:20080829053337-7b5ce-6d94638c57d185e5d44e02ad458593a3f4de36d9.gz
This commit is contained in:
		| @@ -34,6 +34,7 @@ class EmailsettingsAction extends SettingsAction { | ||||
| 										   'id' => 'emailsettings', | ||||
| 										   'action' => | ||||
| 										   common_local_url('emailsettings'))); | ||||
| 		common_hidden('token', common_session_token()); | ||||
|  | ||||
| 		common_element('h2', NULL, _('Address')); | ||||
|  | ||||
| @@ -114,6 +115,13 @@ class EmailsettingsAction extends SettingsAction { | ||||
|  | ||||
| 	function handle_post() { | ||||
|  | ||||
| 		# CSRF protection | ||||
| 		$token = $this->trimmed('token'); | ||||
| 		if (!$token || $token != common_session_token()) { | ||||
| 			$this->show_form(_('There was a problem with your session token. Try again, please.')); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		if ($this->arg('save')) { | ||||
| 			$this->save_preferences(); | ||||
| 		} else if ($this->arg('add')) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user