Urbanecm has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/373695 )
Change subject: throttle.php: Separate the throttling definitions from the
exception values itself
......................................................................
throttle.php: Separate the throttling definitions from the exception values
itself
Bug: T167040
Change-Id: If97fef2b72401e50960fdecd44b95ce933635e4d
---
A wmf-config/throttle-analyze.php
M wmf-config/throttle.php
2 files changed, 47 insertions(+), 47 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config
refs/changes/95/373695/1
diff --git a/wmf-config/throttle-analyze.php b/wmf-config/throttle-analyze.php
new file mode 100644
index 0000000..27860e9
--- /dev/null
+++ b/wmf-config/throttle-analyze.php
@@ -0,0 +1,47 @@
+/**
+ * Helper to easily add a throttling request.
+ */
+$wgExtensionFunctions[] = function () {
+ global $wmgThrottlingExceptions, $wgDBname, $wgRequest;
+
+ foreach ( $wmgThrottlingExceptions as $options ) {
+ # Validate entry, skip when it does not apply to our case
+
+ # 1) skip when it does not apply to our database name
+
+ if ( isset( $options['dbname'] ) && !in_array( $wgDBname,
(array)$options['dbname'] ) ) {
+ continue;
+ }
+
+ # 2) skip expired entries
+ $inTimeWindow = time() >= strtotime( $options['from'] )
+ && time() <= strtotime( $options['to'] );
+
+ if ( !$inTimeWindow ) {
+ continue;
+ }
+
+ # 3) skip when throttle does not apply to the client IP
+ $ip = $wgRequest->getIP();
+ if ( isset ( $options['IP'] ) ) {
+ $throttleIP = $options['IP'];
+ }
+ if ( isset( $throttleIP ) && !in_array( $ip, (array)$throttleIP
) ) {
+ continue;
+ }
+ if ( isset ( $options['range'] ) && !IP::isInRanges( $ip,
(array)$options['range'] ) ) {
+ continue;
+ }
+
+ # Finally) set up the throttle value
+ global $wgAccountCreationThrottle, $wgRateLimits;
+ if ( isset( $options['value'] ) && is_numeric(
$options['value'] ) ) {
+ $wgAccountCreationThrottle = $options['value'];
+ } else {
+ $wgAccountCreationThrottle = 50; // Provide some sane
default
+ }
+ $wgRateLimits['badcaptcha']['ip'] = [ 1000, 86400 ];
+ $wgRateLimits['badcaptcha']['newbie'] = [ 1000, 86400 ];
+ return; # No point in proceeding to another entry
+ }
+};
diff --git a/wmf-config/throttle.php b/wmf-config/throttle.php
index 1954828..3579776 100644
--- a/wmf-config/throttle.php
+++ b/wmf-config/throttle.php
@@ -38,50 +38,3 @@
## Add throttling definitions above.
-/**
- * Helper to easily add a throttling request.
- */
-$wgExtensionFunctions[] = function () {
- global $wmgThrottlingExceptions, $wgDBname, $wgRequest;
-
- foreach ( $wmgThrottlingExceptions as $options ) {
- # Validate entry, skip when it does not apply to our case
-
- # 1) skip when it does not apply to our database name
-
- if ( isset( $options['dbname'] ) && !in_array( $wgDBname,
(array)$options['dbname'] ) ) {
- continue;
- }
-
- # 2) skip expired entries
- $inTimeWindow = time() >= strtotime( $options['from'] )
- && time() <= strtotime( $options['to'] );
-
- if ( !$inTimeWindow ) {
- continue;
- }
-
- # 3) skip when throttle does not apply to the client IP
- $ip = $wgRequest->getIP();
- if ( isset ( $options['IP'] ) ) {
- $throttleIP = $options['IP'];
- }
- if ( isset( $throttleIP ) && !in_array( $ip, (array)$throttleIP
) ) {
- continue;
- }
- if ( isset ( $options['range'] ) && !IP::isInRanges( $ip,
(array)$options['range'] ) ) {
- continue;
- }
-
- # Finally) set up the throttle value
- global $wgAccountCreationThrottle, $wgRateLimits;
- if ( isset( $options['value'] ) && is_numeric(
$options['value'] ) ) {
- $wgAccountCreationThrottle = $options['value'];
- } else {
- $wgAccountCreationThrottle = 50; // Provide some sane
default
- }
- $wgRateLimits['badcaptcha']['ip'] = [ 1000, 86400 ];
- $wgRateLimits['badcaptcha']['newbie'] = [ 1000, 86400 ];
- return; # No point in proceeding to another entry
- }
-};
--
To view, visit https://gerrit.wikimedia.org/r/373695
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If97fef2b72401e50960fdecd44b95ce933635e4d
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Urbanecm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits