Changeset 3315979
- Timestamp:
- 06/22/2025 08:29:46 PM (9 months ago)
- Location:
- stop-user-enumeration
- Files:
-
- 2 added
- 12 deleted
- 16 edited
- 1 copied
-
tags/1.7.4 (copied) (copied from stop-user-enumeration/trunk)
-
tags/1.7.4/bootstrap.php (deleted)
-
tags/1.7.4/changelog.txt (modified) (1 diff)
-
tags/1.7.4/composer.json (deleted)
-
tags/1.7.4/composer.lock (deleted)
-
tags/1.7.4/control (deleted)
-
tags/1.7.4/includes/vendor/alanef/free_plugin_lib/.gitattributes (added)
-
tags/1.7.4/includes/vendor/autoload.php (modified) (1 diff)
-
tags/1.7.4/includes/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
tags/1.7.4/includes/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
tags/1.7.4/includes/vendor/composer/autoload_static.php (modified) (1 diff)
-
tags/1.7.4/includes/vendor/composer/installed.php (modified) (2 diffs)
-
tags/1.7.4/package-lock.json (deleted)
-
tags/1.7.4/package.json (deleted)
-
tags/1.7.4/readme.txt (modified) (1 diff)
-
tags/1.7.4/stop-user-enumeration.php (modified) (2 diffs)
-
trunk/bootstrap.php (deleted)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/composer.json (deleted)
-
trunk/composer.lock (deleted)
-
trunk/control (deleted)
-
trunk/includes/vendor/alanef/free_plugin_lib/.gitattributes (added)
-
trunk/includes/vendor/autoload.php (modified) (1 diff)
-
trunk/includes/vendor/composer/InstalledVersions.php (modified) (5 diffs)
-
trunk/includes/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
trunk/includes/vendor/composer/autoload_static.php (modified) (1 diff)
-
trunk/includes/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/package-lock.json (deleted)
-
trunk/package.json (deleted)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/stop-user-enumeration.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
stop-user-enumeration/tags/1.7.4/changelog.txt
r3315967 r3315979 6 6 * Enhanced IP address validation using FILTER_VALIDATE_IP 7 7 * Fixed X-Forwarded-For header handling to properly parse multiple IPs 8 9 = it ran further ithink but ℹ Starting 'wp cli info' on the cli container.10 11 OS: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May 1 02:52:08 UTC 2025 x86_6412 Shell:13 PHP binary: /usr/local/bin/php14 PHP version: 7.4.3315 php.ini used: /usr/local/etc/php/php.ini16 MySQL binary: /usr/bin/mysql17 MySQL version: mysql Ver 15.1 Distrib 10.6.10-MariaDB, for Linux (x86_64) using readline 5.118 SQL modes:19 WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli20 WP-CLI vendor dir: phar://wp-cli.phar/vendor21 WP_CLI phar path: /var/www/html22 WP-CLI packages dir:23 WP-CLI cache dir: /home/runner/.wp-cli/cache24 WP-CLI global config:25 WP-CLI project config:26 WP-CLI version: 2.7.127 ✔ Ran `wp cli info` in 'cli'. (in 0s 311ms)28 ℹ Starting 'wp plugin list' on the cli container.29 30 name status update version31 hello inactive none 1.7.232 stop-user-enumeration active version higher than expected 1.7.333 ✔ Ran `wp plugin list` in 'cli'. (in 0s 481ms)34 ℹ Starting 'wp plugin list-checks' on the cli container.35 36 Error: 'list-checks' is not a registered subcommand of 'plugin'. See 'wp help plugin' for available subcommands.37 38 ✖ Command failed with exit code 1bu1.7.2 =39 8 * Fix ability to by-pass the WP REST API protection functionality, props Bob @ WpScan 40 9 -
stop-user-enumeration/tags/1.7.4/includes/vendor/autoload.php
r3282442 r3315979 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
stop-user-enumeration/tags/1.7.4/includes/vendor/composer/InstalledVersions.php
r3157454 r3315979 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
stop-user-enumeration/tags/1.7.4/includes/vendor/composer/autoload_classmap.php
r3282442 r3315979 7 7 8 8 return array( 9 'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_real.php',10 'Composer\\Autoload\\ClassLoader' => $vendorDir . '/composer/ClassLoader.php',11 'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_static.php',12 9 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 13 10 'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php', -
stop-user-enumeration/tags/1.7.4/includes/vendor/composer/autoload_static.php
r3282442 r3315979 32 32 33 33 public static $classMap = array ( 34 'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_real.php',35 'Composer\\Autoload\\ClassLoader' => __DIR__ . '/..' . '/composer/ClassLoader.php',36 'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_static.php',37 34 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 38 35 'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php', -
stop-user-enumeration/tags/1.7.4/includes/vendor/composer/installed.php
r3315967 r3315979 2 2 'root' => array( 3 3 'name' => 'fullworks/stop-user-enumeration', 4 'pretty_version' => ' dev-main',5 'version' => ' dev-main',6 'reference' => ' 6ffddee56d5d535eb64d10c4bcf0942755b48504',4 'pretty_version' => 'v1.7.4', 5 'version' => '1.7.4.0', 6 'reference' => '9cd863225735486704216cf2e1ef7073b57e9283', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../../', … … 30 30 ), 31 31 'fullworks/stop-user-enumeration' => array( 32 'pretty_version' => ' dev-main',33 'version' => ' dev-main',34 'reference' => ' 6ffddee56d5d535eb64d10c4bcf0942755b48504',32 'pretty_version' => 'v1.7.4', 33 'version' => '1.7.4.0', 34 'reference' => '9cd863225735486704216cf2e1ef7073b57e9283', 35 35 'type' => 'wordpress-plugin', 36 36 'install_path' => __DIR__ . '/../../../', -
stop-user-enumeration/tags/1.7.4/readme.txt
r3315967 r3315979 6 6 Tested up to: 6.8 7 7 Requires PHP: 7.4 8 Stable tag: 1.7. 38 Stable tag: 1.7.4 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
stop-user-enumeration/tags/1.7.4/stop-user-enumeration.php
r3315967 r3315979 4 4 Plugin URI: https://fullworksplugins.com/products/stop-user-enumeration/ 5 5 Description: Helps secure your site against hacking attacks through detecting User Enumeration 6 Version: 1.7. 36 Version: 1.7.4 7 7 Author: Fullworks 8 8 Requires at least: 6.3 … … 43 43 44 44 // Define the plugin version constant. 45 define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7. 3' );45 define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7.4' ); 46 46 47 47 // Include the autoloader to dynamically include the classes. -
stop-user-enumeration/trunk/changelog.txt
r3315967 r3315979 6 6 * Enhanced IP address validation using FILTER_VALIDATE_IP 7 7 * Fixed X-Forwarded-For header handling to properly parse multiple IPs 8 9 = it ran further ithink but ℹ Starting 'wp cli info' on the cli container.10 11 OS: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May 1 02:52:08 UTC 2025 x86_6412 Shell:13 PHP binary: /usr/local/bin/php14 PHP version: 7.4.3315 php.ini used: /usr/local/etc/php/php.ini16 MySQL binary: /usr/bin/mysql17 MySQL version: mysql Ver 15.1 Distrib 10.6.10-MariaDB, for Linux (x86_64) using readline 5.118 SQL modes:19 WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli20 WP-CLI vendor dir: phar://wp-cli.phar/vendor21 WP_CLI phar path: /var/www/html22 WP-CLI packages dir:23 WP-CLI cache dir: /home/runner/.wp-cli/cache24 WP-CLI global config:25 WP-CLI project config:26 WP-CLI version: 2.7.127 ✔ Ran `wp cli info` in 'cli'. (in 0s 311ms)28 ℹ Starting 'wp plugin list' on the cli container.29 30 name status update version31 hello inactive none 1.7.232 stop-user-enumeration active version higher than expected 1.7.333 ✔ Ran `wp plugin list` in 'cli'. (in 0s 481ms)34 ℹ Starting 'wp plugin list-checks' on the cli container.35 36 Error: 'list-checks' is not a registered subcommand of 'plugin'. See 'wp help plugin' for available subcommands.37 38 ✖ Command failed with exit code 1bu1.7.2 =39 8 * Fix ability to by-pass the WP REST API protection functionality, props Bob @ WpScan 40 9 -
stop-user-enumeration/trunk/includes/vendor/autoload.php
r3282442 r3315979 15 15 } 16 16 } 17 trigger_error( 18 $err, 19 E_USER_ERROR 20 ); 17 throw new RuntimeException($err); 21 18 } 22 19 -
stop-user-enumeration/trunk/includes/vendor/composer/InstalledVersions.php
r3157454 r3315979 28 28 { 29 29 /** 30 * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to 31 * @internal 32 */ 33 private static $selfDir = null; 34 35 /** 30 36 * @var mixed[]|null 31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null 32 38 */ 33 39 private static $installed; 40 41 /** 42 * @var bool 43 */ 44 private static $installedIsLocalDir; 34 45 35 46 /** … … 310 321 self::$installed = $data; 311 322 self::$installedByVendor = array(); 323 324 // when using reload, we disable the duplicate protection to ensure that self::$installed data is 325 // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, 326 // so we have to assume it does not, and that may result in duplicate data being returned when listing 327 // all installed packages for example 328 self::$installedIsLocalDir = false; 329 } 330 331 /** 332 * @return string 333 */ 334 private static function getSelfDir() 335 { 336 if (self::$selfDir === null) { 337 self::$selfDir = strtr(__DIR__, '\\', '/'); 338 } 339 340 return self::$selfDir; 312 341 } 313 342 … … 323 352 324 353 $installed = array(); 354 $copiedLocalDir = false; 325 355 326 356 if (self::$canGetVendors) { 357 $selfDir = self::getSelfDir(); 327 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { 359 $vendorDir = strtr($vendorDir, '\\', '/'); 328 360 if (isset(self::$installedByVendor[$vendorDir])) { 329 361 $installed[] = self::$installedByVendor[$vendorDir]; … … 331 363 /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ 332 364 $required = require $vendorDir.'/composer/installed.php'; 333 $installed[] = self::$installedByVendor[$vendorDir] = $required; 334 if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { 335 self::$installed = $installed[count($installed) - 1]; 365 self::$installedByVendor[$vendorDir] = $required; 366 $installed[] = $required; 367 if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { 368 self::$installed = $required; 369 self::$installedIsLocalDir = true; 336 370 } 371 } 372 if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { 373 $copiedLocalDir = true; 337 374 } 338 375 } … … 351 388 } 352 389 353 if (self::$installed !== array() ) {390 if (self::$installed !== array() && !$copiedLocalDir) { 354 391 $installed[] = self::$installed; 355 392 } -
stop-user-enumeration/trunk/includes/vendor/composer/autoload_classmap.php
r3282442 r3315979 7 7 8 8 return array( 9 'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_real.php',10 'Composer\\Autoload\\ClassLoader' => $vendorDir . '/composer/ClassLoader.php',11 'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => $vendorDir . '/composer/autoload_static.php',12 9 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 13 10 'Composer\\Installers\\AglInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/AglInstaller.php', -
stop-user-enumeration/trunk/includes/vendor/composer/autoload_static.php
r3282442 r3315979 32 32 33 33 public static $classMap = array ( 34 'ComposerAutoloaderInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_real.php',35 'Composer\\Autoload\\ClassLoader' => __DIR__ . '/..' . '/composer/ClassLoader.php',36 'Composer\\Autoload\\ComposerStaticInit5ceeafea73cf4061b84971f875180dce' => __DIR__ . '/..' . '/composer/autoload_static.php',37 34 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 38 35 'Composer\\Installers\\AglInstaller' => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers/AglInstaller.php', -
stop-user-enumeration/trunk/includes/vendor/composer/installed.php
r3315967 r3315979 2 2 'root' => array( 3 3 'name' => 'fullworks/stop-user-enumeration', 4 'pretty_version' => ' dev-main',5 'version' => ' dev-main',6 'reference' => ' 6ffddee56d5d535eb64d10c4bcf0942755b48504',4 'pretty_version' => 'v1.7.4', 5 'version' => '1.7.4.0', 6 'reference' => '9cd863225735486704216cf2e1ef7073b57e9283', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../../', … … 30 30 ), 31 31 'fullworks/stop-user-enumeration' => array( 32 'pretty_version' => ' dev-main',33 'version' => ' dev-main',34 'reference' => ' 6ffddee56d5d535eb64d10c4bcf0942755b48504',32 'pretty_version' => 'v1.7.4', 33 'version' => '1.7.4.0', 34 'reference' => '9cd863225735486704216cf2e1ef7073b57e9283', 35 35 'type' => 'wordpress-plugin', 36 36 'install_path' => __DIR__ . '/../../../', -
stop-user-enumeration/trunk/readme.txt
r3315967 r3315979 6 6 Tested up to: 6.8 7 7 Requires PHP: 7.4 8 Stable tag: 1.7. 38 Stable tag: 1.7.4 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
stop-user-enumeration/trunk/stop-user-enumeration.php
r3315967 r3315979 4 4 Plugin URI: https://fullworksplugins.com/products/stop-user-enumeration/ 5 5 Description: Helps secure your site against hacking attacks through detecting User Enumeration 6 Version: 1.7. 36 Version: 1.7.4 7 7 Author: Fullworks 8 8 Requires at least: 6.3 … … 43 43 44 44 // Define the plugin version constant. 45 define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7. 3' );45 define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.7.4' ); 46 46 47 47 // Include the autoloader to dynamically include the classes.
Note: See TracChangeset
for help on using the changeset viewer.