Changeset 1455997
- Timestamp:
- 07/17/2016 04:07:22 PM (10 years ago)
- Location:
- total-security
- Files:
-
- 74 added
- 5 edited
-
tags/3.3.8 (added)
-
tags/3.3.8/css (added)
-
tags/3.3.8/css/admin.css (added)
-
tags/3.3.8/css/bookmarklet.css (added)
-
tags/3.3.8/css/snippet.min.css (added)
-
tags/3.3.8/images (added)
-
tags/3.3.8/images/_16x16-3.png (added)
-
tags/3.3.8/images/_16x16.png (added)
-
tags/3.3.8/images/ajax-loader.gif (added)
-
tags/3.3.8/images/bg.png (added)
-
tags/3.3.8/images/error2.png (added)
-
tags/3.3.8/images/ext (added)
-
tags/3.3.8/images/ext/_no.png (added)
-
tags/3.3.8/images/ext/css.png (added)
-
tags/3.3.8/images/ext/data.png (added)
-
tags/3.3.8/images/ext/exe.png (added)
-
tags/3.3.8/images/ext/f1.png (added)
-
tags/3.3.8/images/ext/f2.png (added)
-
tags/3.3.8/images/ext/flash.png (added)
-
tags/3.3.8/images/ext/html.png (added)
-
tags/3.3.8/images/ext/java.png (added)
-
tags/3.3.8/images/ext/jpg.png (added)
-
tags/3.3.8/images/ext/js.png (added)
-
tags/3.3.8/images/ext/pdf.png (added)
-
tags/3.3.8/images/ext/php.png (added)
-
tags/3.3.8/images/ext/txt.png (added)
-
tags/3.3.8/images/ext/zip.png (added)
-
tags/3.3.8/images/h3_icons (added)
-
tags/3.3.8/images/h3_icons/bug.png (added)
-
tags/3.3.8/images/h3_icons/code.png (added)
-
tags/3.3.8/images/h3_icons/locate.png (added)
-
tags/3.3.8/images/h3_icons/star.png (added)
-
tags/3.3.8/images/info.png (added)
-
tags/3.3.8/images/info0.png (added)
-
tags/3.3.8/images/info2.png (added)
-
tags/3.3.8/images/loading.gif (added)
-
tags/3.3.8/images/paypal.png (added)
-
tags/3.3.8/images/success.png (added)
-
tags/3.3.8/images/warning.png (added)
-
tags/3.3.8/js (added)
-
tags/3.3.8/js/admin.js (added)
-
tags/3.3.8/js/jquery.blockUI.js (added)
-
tags/3.3.8/js/snippet.min.js (added)
-
tags/3.3.8/lang (added)
-
tags/3.3.8/lang/Help translating it.url (added)
-
tags/3.3.8/lang/total-security-ru_RU.mo (added)
-
tags/3.3.8/libs (added)
-
tags/3.3.8/libs/bookmarklet (added)
-
tags/3.3.8/libs/bookmarklet/_footer.php (added)
-
tags/3.3.8/libs/bookmarklet/_head.php (added)
-
tags/3.3.8/libs/bookmarklet/password_hash.php (added)
-
tags/3.3.8/libs/brute-force-dictionary.txt (added)
-
tags/3.3.8/libs/hashes-4.5.3.php (added)
-
tags/3.3.8/modules (added)
-
tags/3.3.8/modules/class-p2.php (added)
-
tags/3.3.8/modules/class-p3.php (added)
-
tags/3.3.8/modules/class-p4.php (added)
-
tags/3.3.8/modules/class-p5.php (added)
-
tags/3.3.8/modules/class-p7.php (added)
-
tags/3.3.8/modules/class-process.php (added)
-
tags/3.3.8/modules/inc-p1.php (added)
-
tags/3.3.8/modules/inc-p2.php (added)
-
tags/3.3.8/modules/inc-p3.php (added)
-
tags/3.3.8/modules/inc-p4.php (added)
-
tags/3.3.8/modules/inc-p5.php (added)
-
tags/3.3.8/modules/inc-p6.php (added)
-
tags/3.3.8/modules/inc-p7.php (added)
-
tags/3.3.8/modules/inc-popup.php (added)
-
tags/3.3.8/modules/inc-sidebar.php (added)
-
tags/3.3.8/readme.txt (added)
-
tags/3.3.8/total-security.php (added)
-
tags/3.3.8/uninstall.php (added)
-
trunk/libs/brute-force-dictionary.txt (added)
-
trunk/libs/hashes-4.5.3.php (added)
-
trunk/modules/class-p2.php (modified) (3 diffs)
-
trunk/modules/inc-p2.php (modified) (2 diffs)
-
trunk/modules/inc-popup.php (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/total-security.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
total-security/trunk/modules/class-p2.php
r1413172 r1455997 17 17 'user_exists' => array(), 18 18 'id1_user_check' => array(), 19 ' force_ssl_admin'=> array(),19 'bruteforce_login' => array(), 20 20 'secure_hidden_login' => array() ); //end 21 21 22 22 function __construct() { 23 23 add_action('wp_ajax_sn_run_tests', array($this, 'run_tests')); 24 25 $fail2 = get_site_option( 'fdx_p2_red2' );// p2 26 $fail3 = get_site_option( 'fdx_p2_red3' );// p2 24 27 25 28 $fail4 = get_site_option( 'fdx_p2_red4' ); … … 33 36 $fail12 = get_site_option( 'fdx_p2_red12' ); 34 37 $fail13 = get_site_option( 'fdx_p2_red13' ); 35 $fail14 = get_site_option( 'fdx_p2_red14' ); 36 $fail_p2_t = $fail2+$fail3+$fail4+$fail5+$fail6+$fail7+$fail8+$fail9+$fail10+$fail11+$fail12+$fail13+$fail14; 38 $fail_p2_t = $fail2+$fail3+$fail4+$fail5+$fail6+$fail7+$fail8+$fail9+$fail10+$fail11+$fail12+$fail13; //12 37 39 update_option('fdx_p2_red_total', $fail_p2_t ); 38 40 … … 413 415 414 416 417 415 418 /* -------16 416 * 417 */ 418 function force_ssl_admin() { 419 $url = add_query_arg( array( 'popup' => 'pp_page', 'target' => 'force_ssl_admin' ), menu_page_url( $this->hook . '-'.$this->_p2, false ) ); 420 $msgTIT = __('Check if SSL Logins and SSL Admin Access is enabled.', $this->hook); 421 if (defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN) { 422 $return['status'] = '<span class="pb_label pb_label-success">✓</span>'; 423 $return['msg'] = '<tr><td><span class="fdx-actions">'.$msgTIT .'</span></td><td> </td>'; 424 update_option('fdx_p2_red14', '0' ); 425 } else { 426 $return['status'] = '<span class="pb_label pb_label-important">X</span>'; 427 $return['msg'] = '<tr class="alternate"><td><span class="fdx-actions">'.$msgTIT .'</span></td><td><a href="'.$url.'" class="fdx-dialog" title="'.__('Fix', $this->hook ).'"><strong>'.__('Disabled', $this->hook).'</strong></a></td>'; 428 update_option('fdx_p2_red14', '1' ); 429 } 430 return $return; 431 } 432 433 434 419 * bruteforce user login 420 */ 421 //-1 422 Public static function try_login($username, $password) { 423 $user = apply_filters('authenticate', null, $username, $password); 424 if (isset($user->ID) && !empty($user->ID)) { 425 return true; 426 } else { 427 return false; 428 } 429 } 430 //-2 431 function bruteforce_login() { 432 $msgTIT = sprintf( __('Check admin password strength with a <em>%s</em> most commonly used' , $this->hook) , '1050' ); 433 $passwords = file(plugins_url( 'libs/brute-force-dictionary.txt', dirname(__FILE__)), FILE_IGNORE_NEW_LINES); 434 $bad_usernames = array(); 435 $users = get_users(array('role' => 'administrator')); 436 foreach ($users as $user) { 437 foreach ($passwords as $password) { 438 if (self::try_login($user->user_login, $password)) { 439 $bad_usernames[] = $user->user_login; 440 break; 441 } 442 } 443 } 444 if (empty($bad_usernames)){ 445 $return['status'] = '<span class="pb_label pb_label-success">✓</span>'; 446 $return['msg'] = '<tr><td><span class="fdx-actions">'.$msgTIT .'</span></td><td> </td>'; 447 update_option('fdx_p2_red13', '0' ); 448 } else { 449 $return['status'] = '<span class="pb_label pb_label-important">X</span>'; 450 $return['msg'] = '<tr class="alternate"><td><span class="fdx-actions">'.$msgTIT . '</span></td><td><a href="'. admin_url('profile.php'). '" title="'.__('Fix', $this->hook ).'"><strong>'.__('Weak Password', $this->hook).'</strong></a> <span class="fdx-info"><a class="pluginbuddy_tip" href="javascript:void(0)" title="'.__('Following users have extremely weak passwords: ', $this->hook).implode(' ,', $bad_usernames).'"></a></span></td>'; 451 update_option('fdx_p2_red13', '1' ); 452 } 453 return $return; 454 } 455 //------------------------------------------------------------------------ 435 456 436 457 /* -------17 -
total-security/trunk/modules/inc-p2.php
r1413172 r1455997 2 2 $tests = get_option($this->p2_options_key); 3 3 $tests2 = array(); 4 5 $p2_url1 = add_query_arg( array( 'popup' => 'pp_page', 'target' => 'php' ), menu_page_url( $this->hook . '-'.$this->_p2 , false ) ); 6 $p2_url2 = add_query_arg( array( 'popup' => 'pp_page', 'target' => 'php2' ), menu_page_url( $this->hook . '-'.$this->_p2 , false ) ); 7 $p2_url3 = add_query_arg( array( 'popup' => 'pp_page', 'target' => 'chmod' ), menu_page_url( $this->hook . '-'.$this->_p2 , false ) ); 8 /* ---------------------------------- 9 * MYSQL VERSION 10 */ 11 global $wpdb; 12 $parent_class_test = array( 13 'title' => 'MySQL Version', 14 'suggestion' => $this->mySQL_lastver, 15 'value' => $wpdb->db_version(), 16 'tip' => '<span class="fdx-info"><a class="pluginbuddy_tip" href="javascript:void(0)" title="'.__('Version of your database server (mysql) as reported to this script by WordPress.', $this->hook ).'"></a></span>', 17 ); 18 if ( version_compare( $wpdb->db_version(), $this->mySQL_lastver, '<' ) ) { 19 $parent_class_test['status'] = 'INFO'; 20 } else { 21 $parent_class_test['status'] = 'OK'; 22 } 23 array_push( $tests2, $parent_class_test ); 24 25 /* ---------------------------------- 26 * PHP VERSION 27 */ 28 $parent_class_test = array( 29 'title' => 'PHP Version', 30 'suggestion' => $this->php_lastver, 31 'value' => phpversion(), 32 'tip' => '<span class="fdx-info"><a class="pluginbuddy_tip" href="javascript:void(0)" title="'.__('Version of PHP currently running on this site.', $this->hook ).'"></a></span>', 33 ); 34 if ( version_compare( PHP_VERSION, $this->php_lastver, '<' ) ) { 35 $parent_class_test['status'] = 'INFO'; 36 } else { 37 $parent_class_test['status'] = 'OK'; 38 } 39 array_push( $tests2, $parent_class_test ); 40 41 /* ---------------------------------- 42 * PHP max_execution_tim 43 */ 44 $parent_class_test = array( 45 'title' => 'PHP <em>max_execution_time</em>', 46 'suggestion' => '60s', 47 'value' => ini_get( 'max_execution_time' ).'s', 48 'tip' => '<span class="fdx-info"><a class="pluginbuddy_tip" href="javascript:void(0)" title="'.__('Maximum amount of time that PHP allows scripts to run. After this limit is reached the script is killed. The more time available the better. 30 seconds is most common though 60 seconds is ideal.', $this->hook ).'"></a></span>', 49 ); 50 if ( ini_get( 'max_execution_time' ) < 60 ) { 51 $parent_class_test['status'] = 'INFO'; 52 } else { 53 $parent_class_test['status'] = 'OK'; 54 } 55 array_push( $tests2, $parent_class_test ); 56 57 /* ---------------------------------- 58 * MEMORY LIMIT 59 */ 60 if ( !ini_get( 'memory_limit' ) ) { 61 $parent_class_val = 'unknown'; 62 } else { 63 $parent_class_val = ini_get( 'memory_limit' ); 64 } 65 $parent_class_test = array( 66 'title' => 'PHP Memory Limit', 67 'suggestion' => '256M', 68 'value' => $parent_class_val, 69 'tip' => '<span class="fdx-info"><a class="pluginbuddy_tip" href="javascript:void(0)" title="'.__('The amount of memory this site is allowed to consume. (256M+ best)', $this->hook ).'"></a></span>', 70 ); 71 if ( preg_match( '/(\d+)(\w*)/', $parent_class_val, $matches ) ) { 72 $parent_class_val = $matches[1]; 73 $unit = $matches[2]; 74 // Up memory limit if currently lower than 256M. 75 if ( 'g' !== strtolower( $unit ) ) { 76 if ( ( $parent_class_val < 256 ) || ( 'm' !== strtolower( $unit ) ) ) { 77 $parent_class_test['status'] = 'INFO'; 78 } else { 79 $parent_class_test['status'] = 'OK'; 80 } 81 } 82 } else { 83 $parent_class_test['status'] = 'ERROR'; 84 } 85 array_push( $tests2, $parent_class_test ); 86 87 if ($tests['last_run']) { 88 /* ---------------------------------- 89 * php allow_url_include 90 */ 91 $parent_class_test = array( 92 'title' => 'PHP <em>allow_url_include</em>', 93 'suggestion' => __('Turned Off', $this->hook), 94 'tip' => '', 95 ); 96 if ( ini_get('allow_url_include') == 1) { 97 $parent_class_test['status'] = 'WARNING'; 98 $parent_class_test['value'] = '<a href="'.$p2_url2.'" class="fdx-dialog" title="'.__('Fix', $this->hook ).'"><strong>'.__('Turned On', $this->hook).'</strong></a>'; 99 update_option('fdx_p2_yel5', '1' ); 100 } else { 101 $parent_class_test['status'] = 'OK'; 102 $parent_class_test['value'] = __('Turned Off', $this->hook); 103 update_option('fdx_p2_yel5', '0' ); 104 } 105 array_push( $tests2, $parent_class_test ); 106 107 /* ---------------------------------- 108 * php allow_url_fopen 109 */ 110 $parent_class_test = array( 111 'title' => 'PHP <em>allow_url_fopen</em>', 112 'suggestion' => __('Turned Off', $this->hook), 113 'tip' => '', 114 ); 115 if ( ini_get('allow_url_fopen') == 1) { 116 $parent_class_test['status'] = 'WARNING'; 117 $parent_class_test['value'] = '<a href="'.$p2_url2.'" class="fdx-dialog" title="'.__('Fix', $this->hook ).'"><strong>'.__('Turned On', $this->hook).'</strong></a>'; 118 update_option('fdx_p2_yel4', '1' ); 119 } else { 120 $parent_class_test['status'] = 'OK'; 121 $parent_class_test['value'] = __('Turned Off', $this->hook); 122 update_option('fdx_p2_yel4', '0' ); 123 } 124 array_push( $tests2, $parent_class_test ); 125 126 /* Dangerous PHP Functions 127 * exec,passthru,shell_exec,proc_open,system 128 */ 129 $disabled_functions = ini_get( 'disable_functions' ); 130 if ( $disabled_functions == '' ) { 131 $disabled_functions = __('none', $this->hook ); 132 } 133 $parent_class_test = array( 134 'title' => __('Dangerous PHP Functions', $this->hook ), 135 'suggestion' => __('Disable All', $this->hook ), 136 'tip' => '', 137 ); 138 // $disabled_functions_array = explode( ',', $disabled_functions ); 139 $disabled_functions_array = array_map('trim', explode(',', $disabled_functions)); //ignore space 140 $parent_class_test['status'] = 'WARNING'; 141 $parent_class_test['value'] = '<a href="'.$p2_url1.'" class="fdx-dialog" title="'.__('Fix', $this->hook ).'"><strong>'.__('Disabled', $this->hook ).'</strong></a>: <span class="fdx-info"><a class="pluginbuddy_tip" href="javascript:void(0)" title="'.$disabled_functions.'"></a></span>'; 142 update_option('fdx_p2_yel7', '1' ); 143 if ( 144 ( true === in_array( 'exec', $disabled_functions_array ) ) 145 && 146 ( true === in_array( 'system', $disabled_functions_array ) ) 147 && 148 ( true === in_array( 'passthru', $disabled_functions_array ) ) 149 && 150 ( true === in_array( 'shell_exec', $disabled_functions_array ) ) 151 && 152 ( true === in_array( 'proc_open', $disabled_functions_array ) ) 153 ) { 154 $parent_class_test['status'] = 'OK'; 155 $parent_class_test['value'] = __('Disabled', $this->hook ).': <span class="fdx-info"><a class="pluginbuddy_tip" title="'.$disabled_functions.'"></a></span>'; 156 157 update_option('fdx_p2_yel7', '0' ); 158 } 159 array_push( $tests2, $parent_class_test ); 160 161 } //if no run 162 163 /* -------3 164 * File Permissions - chmod 165 */ 166 define( 'FDX_P1_URL1', $p2_url3 ); 167 define( 'FDX_P1_TIT1', __('Fix', $this->hook ) ); 168 function fdx_check_perms($name,$path,$perm, $class) { 169 clearstatcache(); 170 $current_perms = @substr(sprintf("%o", fileperms($path)), -3); 171 if ( $perm == $current_perms ) { 172 echo '<tr>'; 173 echo '<td>' . $name .'</td>'; 174 echo '<td>'.$perm.'</td>'; 175 echo '<td><code>'. $current_perms .'</code></td>'; 176 echo '<td><span class="pb_label pb_label-success">✓</span></td>'; 177 update_option('fdx_p2_red2', '0' ); //2 178 update_option('fdx_p2_red3', '0' ); 179 } elseif ($current_perms == '0') { 180 echo '<tr class="alternate">'; 181 echo '<td>' . $name .'</td>'; 182 echo '<td>'.$perm.'</td>'; 183 echo '<td><code>---</code></td>'; 184 echo '<td><span class="pb_label pb_label-desat">Ø</span></td>'; 185 echo '</tr>'; 186 } else { 187 echo '<tr class="alternate">'; 188 echo '<td>' . $name .'</td>'; 189 echo '<td>'.$perm.'</td>'; 190 echo '<td><a href="'.FDX_P1_URL1.'" class="fdx-dialog" title="'.FDX_P1_TIT1.'"><strong><code>'. $current_perms.'</a></code></strong></td>'; 191 192 if ($name == "<span id='mime2'>.htaccess</span>") { 193 echo '<td><span class="pb_label pb_label-'.$class.'">X</span></td>'; 194 update_option('fdx_p2_red2', '1' ); 195 196 } elseif ($name == "<span id='mime3'>wp-config.php</span>") { 197 echo '<td><span class="pb_label pb_label-'.$class.'">X</span></td>'; 198 update_option('fdx_p2_red3', '1' ); 199 200 } else { 201 echo '<td><span class="pb_label pb_label-'.$class.'">✓</span></td>'; 202 203 } 204 echo '</tr>'; 205 } 206 } 4 207 5 208 /* wrap … … 59 262 60 263 //-------------------- 264 echo '<table class="widefat"><thead><tr class="thead">'; 265 echo '<th>', __('Server Configuration', $this->hook ), '</th>', 266 '<th style="width: 120px;"><small>', __('Recommendation', $this->hook ), '</small></th>', 267 '<th style="width: 120px;"><small>', __('Result', $this->hook), '</small></th>', 268 '<th style="width: 30px;"></th>'; 269 270 echo '</tr></thead><tbody>'; 271 foreach( $tests2 as $parent_class_test ) { 272 echo '<tr>'; 273 echo ' <td>' . $parent_class_test['title'] . '</td>'; 274 echo ' <td>' . $parent_class_test['tip'] . $parent_class_test['suggestion'] . '</td>'; 275 echo ' <td>' . $parent_class_test['value'] . '</td>'; 276 //echo ' <td>' . $parent_class_test['status'] . '</td>'; 277 echo ' <td>'; 278 if ( $parent_class_test['status'] == 'OK' ) { 279 echo '<span class="pb_label pb_label-success">✓</span>'; 280 } elseif ( $parent_class_test['status'] == 'FAIL' ) { 281 echo '<span class="pb_label pb_label-important">X</span>'; 282 } elseif ( $parent_class_test['status'] == 'WARNING') { 283 echo '<span class="pb_label pb_label-warning">!</span>'; 284 } elseif ( $parent_class_test['status'] == 'INFO') { 285 echo '<span class="pb_label pb_label-info">✓</span>'; 286 } elseif ( $parent_class_test['status'] == 'ERROR') { 287 echo '<span class="pb_label pb_label-desat">Ø</span>'; 288 } 289 echo '</td></tr>'; 290 } 291 echo '</tbody></table>'; 292 echo '<table class="widefat">'; 293 echo '<thead><tr>'; 294 echo '<th>'.__('File Permissions - ', $this->hook).'chmod </th>'; 295 echo '<th style="width: 120px;"><small>'.__('Recommendation', $this->hook ).'</small></th>'; 296 echo '<th style="width: 120px;"><small>'.__('Result', $this->hook).'</small></th>'; 297 echo '<th style="width: 30px;"></th>'; 298 echo '</tr></thead><tbody>'; 299 $siteurl = get_bloginfo('url'); 300 $wpurl = get_bloginfo('wpurl'); 301 fdx_check_perms("<span id='mime0'>/</span>","../","755", "info"); 302 fdx_check_perms("<span id='mime1'>wp-admin</span>","../wp-admin","755", "info"); 303 fdx_check_perms("<span id='mime1'>wp-content</span>","../wp-content","755", "info"); 304 fdx_check_perms("<span id='mime1'>wp-includes</span>","../wp-includes","755", "info"); 305 if ($siteurl == $wpurl) { 306 fdx_check_perms("<span id='mime2'>.htaccess</span>",ABSPATH."/.htaccess","444", "important"); 307 fdx_check_perms("<span id='mime3'>index.php</span>",ABSPATH."/index.php","640", "info"); 308 } else { 309 fdx_check_perms("<span id='mime2'>.htaccess</span>",dirname(ABSPATH)."/.htaccess","444", "important"); 310 fdx_check_perms("<span id='mime3'>index.php</span>",dirname(ABSPATH)."/index.php","640", "info"); 311 } 312 fdx_check_perms("<span id='mime3'>wp-config.php</span>","../wp-config.php","400", "important"); 313 fdx_check_perms("<span id='mime3'>wp-blog-header.php</span>","../wp-blog-header.php","640", "info"); 314 echo '</tbody></table>'; 315 61 316 62 317 -
total-security/trunk/modules/inc-popup.php
r1413172 r1455997 108 108 echo '<p>' .__('Fixing is easy; create a new user with the same privileges. Then delete the old one with <em> "ID=1" </em> and tell WP to transfer all of his content to the new user.', $this->hook) . '</p>'; 109 109 110 // force_ssl_admin 111 } elseif ($target == 'force_ssl_admin'){ 112 echo __('Check if SSL Logins and SSL Admin Access is enabled.', $this->hook); 113 echo '</strong></th></tr></thead><tbody><tr><td>'; 114 echo '<p>' .__('To easily enable (and enforce) WordPress administration over SSL, there are two constants that you can define in your site\'s <code>wp-config.php</code> file. <strong>You must also already have SSL configured on the server and a (virtual) host configured for the secure server before your site will work properly with these constants set to true.</strong>', $this->hook) . '</p>'; 115 echo '</strong></th></tr></thead><tbody><tr class="alternate"><td>'; 116 echo '<p>' .sprintf(__('Please read: <a href="%s"><strong>Administration Over SSL</strong></a>', $this->hook), 'http://codex.wordpress.org/Administration_Over_SSL' ) . '</p>'; 110 //php info 111 } elseif ($target == 'php'){ 112 echo __('Dangerous PHP Functions', $this->hook); 113 echo '</strong></th></tr></thead><tbody><tr><td>'; 114 echo '<p>' .__('When the PHP code is used in an improper way or any insecure php code, potentially it can messed up with a web hosting server and can simply be hacked by hackers. Insecure PHP code can literally harm your server data at the level you cannot even imagine it.', $this->hook) . '</p>'; 115 echo '<p>' .__('Using the insecure PHP code, as a security hole hackers could enable some very dangerous and powerful PHP functions and can take control over your web hosting server. There are many such php function which should be disabled in the PHP configuration file. Let\'s check out the functions that should be disabled in the php configuration file right away on your web server.', $this->hook) . '</p>'; 116 117 echo '</tr><tr class="alternate"><td>' .__('<em>disable_functions</em> is a directive used to disable the insecure php functions. Once you find the <em>disable_functions</em> directive in the configuration file <code>php.ini</code> and add the following string to the line starting with:', $this->hook) .'</p>'; 118 echo '<pre class="fdx_snippet"> 119 disable_functions = system,exec,passthru,shell_exec,proc_open 120 </pre>'; 121 echo '<br/><p><strong>'.__('A more paranoid list of dangerous functions', $this->hook) . ':</strong></p>'; 122 echo '<p><em><strong>disable_functions</strong></em> <code>=</code> apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode</p>'; 123 124 } elseif ($target == 'php2'){ 125 echo 'PHP: <em>"allow_url_fopen"</em> - <em>"allow_url_include"</em>'; 126 echo '</strong></th></tr></thead><tbody><tr><td>'; 127 echo '<p>' .__('The PHP settings <em>allow_url_fopen</em> and <em>allow_url_include</em> allow the abuse of insecurely coded code within your WordPress setup and have been the cause for many hacked websites in the past.', $this->hook) . '</p>'; 128 echo '<p>' .__('Having this PHP directive will leave your site exposed to cross-site attacks (XSS). There\'s absolutely no valid reason to enable this directive and using any PHP code that requires it is very risky.', $this->hook) . '</p>'; 129 130 echo '</tr><tr class="alternate"><td>' .__('Once you find the directive in the configuration file <code>php.ini</code>, disable both settings.', $this->hook) .'</p>'; 131 echo '<pre class="fdx_snippet"> 132 allow_url_include = off 133 allow_url_fopen = off 134 </pre>'; 135 136 } elseif ($target == 'chmod'){ 137 echo __('File Permissions - chmod', $this->hook); 138 echo '</strong></th></tr></thead><tbody><tr><td>'; 139 echo '<p>' .__('Some neat features of WordPress come from allowing various files to be writable by the web server. However, allowing write access to your files is potentially dangerous, particularly in a shared hosting environment.', $this->hook) . '</p>'; 140 echo '<p>' .__('It is best to lock down your file permissions as much as possible and to loosen those restrictions on the occasions that you need to allow write access, or to create specific folders with less restrictions for the purpose of doing things like uploading files.', $this->hook) . '</p>'; 141 echo '</tr><tr class="alternate"><td>'; 142 echo '<p>' .sprintf(__('Information on file permissions in WordPress and different ways of how to change permissions can be found <a href="%s"><strong>here!</strong></a>', $this->hook), 'http://codex.wordpress.org/Changing_File_Permissions' ) . '</p>'; 143 117 144 118 145 //table-info -
total-security/trunk/readme.txt
r1413256 r1455997 4 4 Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=8DHY4NXW35T4Y 5 5 Tags: security, scan ,scanner, hack, exploit, secure, malware, phishing, vulnerability, scours, unsafe, total, 404 log, error 404, stealth login, hidden login, Bookmarklet,Log Viewer, debug.log 6 Requires at least: 4.5. 27 Tested up to: 4.5. 28 Stable tag: 3. 46 Requires at least: 4.5.3 7 Tested up to: 4.5.3 8 Stable tag: 3.3.8 9 9 License: GPLv2 or later 10 10 … … 18 18 * Check your site for security vulnerabilities and holes. 19 19 * Numerous installation parameters tests 20 * Apache and PHP related tests 21 * File permissions 20 22 * WP options tests 21 23 * Detailed help and description … … 124 126 125 127 == Changelog == 126 * 3.4 127 * NEW - New Test: SSL Logins and SSL Admin Access 128 * IMPROVED - Performance Improvements 129 * IMPROVED - Removal of Obsolete Tests 128 * 3.3.8 129 * IMPROVED - Compatibility with WordPress 4.5.3 130 130 131 131 * 3.3.7 -
total-security/trunk/total-security.php
r1413172 r1455997 4 4 * Plugin URI: http://fabrix.net/total-security/ 5 5 * Description: Checks your WordPress installation and provides detailed reporting on discovered vulnerabilities, anything suspicious and how to fix them. 6 * Version: 3. 46 * Version: 3.3.8 7 7 * Author: Fabrix DoRoMo 8 8 * Author URI: http://fabrix.net … … 14 14 15 15 class Total_Security { 16 public $min_wp_ver = '4.5.2'; // 17 public $pluginversion = '3.4'; 16 public $min_wp_ver = '4.5.3'; // 17 public $pluginversion = '3.3.8'; 18 19 public $php_lastver = '7.0.5'; // PHP - http://php.net/downloads.php 20 public $mySQL_lastver = '5.7.12'; // MYSQL - http://dev.mysql.com/downloads/ 21 18 22 public $pluginname = 'Total Security'; 19 23 public $hook = 'total-security'; … … 636 640 637 641 // red 638 delete_option('fdx_p2_red2'); //vestigios da ultima instalação remover no futuro 639 delete_option('fdx_p2_red3'); //vestigios da ultima instalação remover no futuro 640 //--------------------------------------------------------------------------------- 642 delete_option('fdx_p2_red2'); 643 delete_option('fdx_p2_red3'); 641 644 delete_option('fdx_p2_red4'); 642 645 delete_option('fdx_p2_red5'); … … 649 652 delete_option('fdx_p2_red12'); 650 653 delete_option('fdx_p2_red13'); 651 delete_option('fdx_p2_red14');652 654 //yel 653 655 delete_option('fdx_p2_yel1');
Note: See TracChangeset
for help on using the changeset viewer.