Comments (4)
You can set the rack attack key prefix like so:
Rack::Attack.cache.prefix = 'my_app'
Not sure why two different keys are getting created.
from rack-attack.
I cleared the cache before:
1) "my_app:allow2ban:ban:127.0.0.1"
2) "development/c5308:my_app:23508888:allow2ban:count:127.0.0.1"
I think it's because of the initializer:
Rack::Attack.cache.store = ActiveSupport::Cache.lookup_store(Rails.configuration.custom.cache_store_config)
Somehow it initializes too late and takes the namespace in consideration only now.
from rack-attack.
Here is some input:
When I replace:
self.setex(key, expires_in, value)
with:
self.set(key, value)
self.expire(key, expires_in)
This is what I get:
127.0.0.1:6379> keys '*'
1) "development/c5308:my_app:allow2ban:ban:127.0.0.1"
2) "development/c5308:my_app:23508906:allow2ban:count:127.0.0.1"
But the expiration time are not set:
127.0.0.1:6379> get "development/c5308:my_app:allow2ban:ban:127.0.0.1"
"\x04\bi\x06" (weird value here)
127.0.0.1:6379> ttl "development/c5308:my_app:allow2ban:ban:127.0.0.1"
(integer) -1
127.0.0.1:6379> get "development/c5308:my_app:23508909:allow2ban:count:127.0.0.1"
"20"
127.0.0.1:6379> ttl "development/c5308:my_app:23508909:allow2ban:count:127.0.0.1"
(integer) -1
from rack-attack.
Okay, redis-namespace gave me a hard time.
Here is what I did:
# Remove the namespace options
cache_store_config = :redis_store,
"redis://#{Rails.configuration.custom.config_redis['url']}:#{Rails.configuration.custom.config_redis['port']}"
Rack::Attack.cache.store = ActiveSupport::Cache.lookup_store(cache_store_config)
# Add it back to rack-attack prefix
Rack::Attack.cache.prefix = Rails.configuration.custom.redis_namespace + ':rack:attack'
from rack-attack.
Related Issues (20)
- Wondering if is any plan to release some of the features that are on the main branch HOT 1
- Redis pipelining deprecation errors HOT 2
- Why Fail2Ban#fail! always return true? HOT 1
- How to get blocked ips?
- Ex is stopping me from getting direct messages and is intercepting my iPhone activity how to fix
- Use of safelist_ip causes error when IP address is not set
- Rack Attack with black-listed IP's still letting those IPs in on Heroku HOT 3
- Rails request throttling just half the given limit
- Rack 3 Support HOT 4
- Using `matched_by?` without rack-attack hijacking HTTP response? HOT 1
- Checking Limits Without Incrementing? HOT 1
- Metadata retention mechanism when limit/period procs are used on throttles
- Throttling period is not "rolling" HOT 1
- Feature Request: Block everything your routes.rb doesn't specify!
- Wrong Number of arguments (given 3, expected 2) HOT 1
- The CHANGELOG seems to be missing info about v6.7.0 HOT 4
- security policy HOT 1
- Feature request: testing helpers HOT 1
- designing and testing throttles HOT 6
- Observing throttle usage
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rack-attack.