CSRF protection in emailsettings
darcs-hash:20080829053337-7b5ce-6d94638c57d185e5d44e02ad458593a3f4de36d9.gz
This commit is contained in:
parent
2dc50d7e37
commit
a034e13bf0
@ -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')) {
|
||||
|
Loading…
Reference in New Issue
Block a user