Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
02/09/2009 06:52:51 AM (17 years ago)
Author:
apeatling
Message:

Added nonce security checks to all BuddyPress actions. Fixes #454

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups/bp-groups-ajax.php

    r1025 r1032  
    33    global $bp;
    44
    5     check_ajax_referer('invite_user');
     5    check_ajax_referer( 'groups_invite_uninvite_user' );
    66
    77    if ( !$_POST['friend_id'] || !$_POST['friend_action'] || !$_POST['group_id'] )
     
    1515   
    1616    if ( 'invite' == $_POST['friend_action'] ) {
     17               
    1718        if ( !groups_invite_user( $_POST['friend_id'], $_POST['group_id'] ) )
    1819            return false;
     
    2526        echo '<span class="activity">' . sprintf( __( 'active %s ago', 'buddypress' ), $user->last_active ) . '</span>';
    2627        echo '<div class="action">
    27                 <a class="remove" href="' . $bp->loggedin_user->domain . $bp->groups->slug . '/' . $_POST['group_id'] . '/invites/remove/' . $user->id . '" id="uid-' . $user->id . '">' . __( 'Remove Invite', 'buddypress' ) . '</a>
     28                <a class="remove" href="' . wp_nonce_url( $bp->loggedin_user->domain . $bp->groups->slug . '/' . $_POST['group_id'] . '/invites/remove/' . $user->id, 'groups_invite_uninvite_user' ) . '" id="uid-' . $user->id . '">' . __( 'Remove Invite', 'buddypress' ) . '</a>
    2829              </div>';
    2930        echo '</li>';
    3031       
    3132    } else if ( 'uninvite' == $_POST['friend_action'] ) {
     33       
    3234        if ( !groups_uninvite_user( $_POST['friend_id'], $_POST['group_id'] ) )
    3335            return false;
    3436       
    3537        return true;
     38       
    3639    } else {
    3740        return false;
     
    4346    global $bp;
    4447
    45     check_ajax_referer('group-filter-box');
     48    check_ajax_referer( 'group-filter-box' );
    4649   
    4750    load_template( get_template_directory() . '/groups/group-loop.php' );
     
    140143
    141144        <div id="message" class="info">
    142             <p>This group has no members.</p>
     145            <p><?php _e( 'This group has no members.', 'buddypress' ) ?></p>
    143146        </div>
    144147
     
    186189
    187190        <div id="message" class="info">
    188             <p>This group has no members.</p>
     191            <p><?php _e( 'This group has no members.', 'buddypress' ) ?></p>
    189192        </div>
    190193
     
    297300   
    298301    if ( !groups_is_user_member( $bp->loggedin_user->id, $group->id ) ) {
    299    
     302
    300303        if ( 'public' == $group->status ) {
     304           
     305            check_ajax_referer( 'groups_join_group' );
     306           
    301307            if ( !groups_join_group( $group->id ) ) {
    302308                _e( 'Error joining group', 'buddypress' );
    303309            } else {
    304                 echo '<a id="group-' . $group->id . '" class="leave-group" rel="leave" title="' . __( 'Leave Group', 'buddypress' ) . '" href="' . bp_group_permalink( $group, false ) . '/leave-group">' . __( 'Leave Group', 'buddypress' ) . '</a>';
    305             }           
     310                echo '<a id="group-' . $group->id . '" class="leave-group" rel="leave" title="' . __( 'Leave Group', 'buddypress' ) . '" href="' . wp_nonce_url( bp_group_permalink( $group, false ) . '/leave-group', 'groups_leave_group' ) . '">' . __( 'Leave Group', 'buddypress' ) . '</a>';
     311            }   
     312                   
    306313        } else if ( 'private' == $group->status ) {
     314           
     315            check_ajax_referer( 'groups_send_membership_request' );
     316           
    307317            if ( !groups_send_membership_request( $bp->loggedin_user->id, $group->id ) ) {
    308318                _e( 'Error requesting membership', 'buddypress' ); 
     
    313323       
    314324    } else {
     325
     326        check_ajax_referer( 'groups_leave_group' );
     327
    315328        if ( !groups_leave_group( $group->id ) ) {
    316329            _e( 'Error leaving group', 'buddypress' );
    317330        } else {
    318331            if ( 'public' == $group->status ) {
    319                 echo '<a id="group-' . $group->id . '" class="join-group" rel="join" title="' . __( 'Join Group', 'buddypress' ) . '" href="' . bp_group_permalink( $group, false ) . '/join">' . __( 'Join Group', 'buddypress' ) . '</a>';               
     332                echo '<a id="group-' . $group->id . '" class="join-group" rel="join" title="' . __( 'Join Group', 'buddypress' ) . '" href="' . wp_nonce_url( bp_group_permalink( $group, false ) . '/join', 'groups_join_group' ) . '">' . __( 'Join Group', 'buddypress' ) . '</a>';             
    320333            } else if ( 'private' == $group->status ) {
    321                 echo '<a id="group-' . $group->id . '" class="request-membership" rel="join" title="' . __( 'Request Membership', 'buddypress' ) . '" href="' . bp_group_permalink( $group, false ) . '/request-membership">' . __( 'Request Membership', 'buddypress' ) . '</a>';
     334                echo '<a id="group-' . $group->id . '" class="request-membership" rel="join" title="' . __( 'Request Membership', 'buddypress' ) . '" href="' . wp_nonce_url( bp_group_permalink( $group, false ) . '/request-membership', 'groups_send_membership_request' ) . '">' . __( 'Request Membership', 'buddypress' ) . '</a>';
    322335            }
    323336        }
Note: See TracChangeset for help on using the changeset viewer.