add CSRF protection to avatar
darcs-hash:20080829023919-84dde-38e4bf6bddc120a221af5f856d9f88b7a532096b.gz
This commit is contained in:
parent
d146355875
commit
d3c86d0016
@ -58,6 +58,7 @@ class AvatarAction extends SettingsAction {
|
|||||||
'id' => 'avatar',
|
'id' => 'avatar',
|
||||||
'action' =>
|
'action' =>
|
||||||
common_local_url('avatar')));
|
common_local_url('avatar')));
|
||||||
|
common_hidden('token', common_session_token());
|
||||||
common_element('input', array('name' => 'MAX_FILE_SIZE',
|
common_element('input', array('name' => 'MAX_FILE_SIZE',
|
||||||
'type' => 'hidden',
|
'type' => 'hidden',
|
||||||
'id' => 'MAX_FILE_SIZE',
|
'id' => 'MAX_FILE_SIZE',
|
||||||
@ -72,6 +73,14 @@ class AvatarAction extends SettingsAction {
|
|||||||
|
|
||||||
function handle_post() {
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
switch ($_FILES['avatarfile']['error']) {
|
switch ($_FILES['avatarfile']['error']) {
|
||||||
case UPLOAD_ERR_OK: # success, jump out
|
case UPLOAD_ERR_OK: # success, jump out
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user