Changeset 40724
- Timestamp:
- 05/16/2017 02:50:27 PM (8 years ago)
- Location:
- branches/4.7
- Files:
- 3 edited
- . (modified) (1 prop)
- src/wp-admin/includes/file.php (modified) (3 diffs)
- src/wp-admin/js/updates.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
branches/4.7
branches/4.7/src/wp-admin/includes/file.php
r38672 r40724 1092 1092 $credentials = get_option('ftp_credentials', array( 'hostname' => '', 'username' => '')); 1093 1093 1094 $submitted_form = wp_unslash( $_POST ); 1095 1096 // Verify nonce, or unset submitted form field values on failure 1097 if ( ! isset( $_POST['_fs_nonce'] ) || ! wp_verify_nonce( $_POST['_fs_nonce'], 'filesystem-credentials' ) ) { 1098 unset( 1099 $submitted_form['hostname'], 1100 $submitted_form['username'], 1101 $submitted_form['password'], 1102 $submitted_form['public_key'], 1103 $submitted_form['private_key'], 1104 $submitted_form['connection_type'] 1105 ); 1106 } 1107 1094 1108 // If defined, set it to that, Else, If POST'd, set it to that, If not, Set it to whatever it previously was(saved details in option) 1095 $credentials['hostname'] = defined('FTP_HOST') ? FTP_HOST : (!empty($ _POST['hostname']) ? wp_unslash( $_POST['hostname'] ): $credentials['hostname']);1096 $credentials['username'] = defined('FTP_USER') ? FTP_USER : (!empty($ _POST['username']) ? wp_unslash( $_POST['username'] ): $credentials['username']);1097 $credentials['password'] = defined('FTP_PASS') ? FTP_PASS : (!empty($ _POST['password']) ? wp_unslash( $_POST['password'] ): '');1109 $credentials['hostname'] = defined('FTP_HOST') ? FTP_HOST : (!empty($submitted_form['hostname']) ? $submitted_form['hostname'] : $credentials['hostname']); 1110 $credentials['username'] = defined('FTP_USER') ? FTP_USER : (!empty($submitted_form['username']) ? $submitted_form['username'] : $credentials['username']); 1111 $credentials['password'] = defined('FTP_PASS') ? FTP_PASS : (!empty($submitted_form['password']) ? $submitted_form['password'] : ''); 1098 1112 1099 1113 // Check to see if we are setting the public/private keys for ssh 1100 $credentials['public_key'] = defined('FTP_PUBKEY') ? FTP_PUBKEY : (!empty($ _POST['public_key']) ? wp_unslash( $_POST['public_key'] ): '');1101 $credentials['private_key'] = defined('FTP_PRIKEY') ? FTP_PRIKEY : (!empty($ _POST['private_key']) ? wp_unslash( $_POST['private_key'] ): '');1114 $credentials['public_key'] = defined('FTP_PUBKEY') ? FTP_PUBKEY : (!empty($submitted_form['public_key']) ? $submitted_form['public_key'] : ''); 1115 $credentials['private_key'] = defined('FTP_PRIKEY') ? FTP_PRIKEY : (!empty($submitted_form['private_key']) ? $submitted_form['private_key'] : ''); 1102 1116 1103 1117 // Sanitize the hostname, Some people might pass in odd-data: … … 1116 1130 } elseif ( ( defined( 'FTP_SSL' ) && FTP_SSL ) && 'ftpext' == $type ) { //Only the FTP Extension understands SSL 1117 1131 $credentials['connection_type'] = 'ftps'; 1118 } elseif ( ! empty( $ _POST['connection_type'] ) ) {1119 $credentials['connection_type'] = wp_unslash( $_POST['connection_type'] );1132 } elseif ( ! empty( $submitted_form['connection_type'] ) ) { 1133 $credentials['connection_type'] = $submitted_form['connection_type']; 1120 1134 } elseif ( ! isset( $credentials['connection_type'] ) ) { //All else fails (And it's not defaulted to something else saved), Default to FTP 1121 1135 $credentials['connection_type'] = 'ftp'; … … 1256 1270 1257 1271 foreach ( (array) $extra_fields as $field ) { 1258 if ( isset( $ _POST[ $field ] ) )1259 echo '<input type="hidden" name="' . esc_attr( $field ) . '" value="' . esc_attr( wp_unslash( $_POST[ $field ] )) . '" />';1272 if ( isset( $submitted_form[ $field ] ) ) 1273 echo '<input type="hidden" name="' . esc_attr( $field ) . '" value="' . esc_attr( $submitted_form[ $field ] ) . '" />'; 1260 1274 } 1261 1275 ?> 1262 1276 <p class="request-filesystem-credentials-action-buttons"> 1277 <?php wp_nonce_field( 'filesystem-credentials', '_fs_nonce', false, true ); ?> 1263 1278 <button class="button cancel-button" data-js-action="close" type="button"><?php _e( 'Cancel' ); ?></button> 1264 1279 <?php submit_button( __( 'Proceed' ), '', 'upgrade', false ); ?> branches/4.7/src/wp-admin/js/updates.js
r39690 r40724 95 95 * @type {string} filesystemCredentials.ssh.publicKey The public key. Default empty string. 96 96 * @type {string} filesystemCredentials.ssh.privateKey The private key. Default empty string. 97 * @type {string} filesystemCredentials.fsNonce Filesystem credentials form nonce. 97 98 * @type {bool} filesystemCredentials.available Whether filesystem credentials have been provided. 98 99 * Default 'false'. … … 109 110 privateKey: '' 110 111 }, 112 fsNonce: '', 111 113 available: false 112 114 }; … … 226 228 action: action, 227 229 _ajax_nonce: wp.updates.ajaxNonce, 230 _fs_nonce: wp.updates.filesystemCredentials.fsNonce, 228 231 username: wp.updates.filesystemCredentials.ftp.username, 229 232 password: wp.updates.filesystemCredentials.ftp.password, … … 1706 1709 wp.updates.filesystemCredentials.ssh.publicKey = $( '#public_key' ).val(); 1707 1710 wp.updates.filesystemCredentials.ssh.privateKey = $( '#private_key' ).val(); 1711 wp.updates.filesystemCredentials.fsNonce = $( '#_fs_nonce' ).val(); 1708 1712 wp.updates.filesystemCredentials.available = true; 1709 1713
Note: See TracChangeset for help on using the changeset viewer.