sql >> Databasteknik >  >> NoSQL >> Redis

Hur kan jag lösenordsskydda min /sidekiq-rutt (dvs. kräver autentisering för Sidekiq::Web-verktyget)?

Sätt in följande i din sidekiq-initiering

require 'sidekiq'
require 'sidekiq/web'

Sidekiq::Web.use(Rack::Auth::Basic) do |user, password|
  # Protect against timing attacks:
  # - See https://codahale.com/a-lesson-in-timing-attacks/
  # - See https://thisdata.com/blog/timing-attacks-against-string-comparison/
  # - Use & (do not use &&) so that it doesn't short circuit.
  # - Use digests to stop length information leaking
  Rack::Utils.secure_compare(::Digest::SHA256.hexdigest(user), ::Digest::SHA256.hexdigest(ENV["SIDEKIQ_USER"])) &
  Rack::Utils.secure_compare(::Digest::SHA256.hexdigest(password), ::Digest::SHA256.hexdigest(ENV["SIDEKIQ_PASSWORD"]))
end

Och i ruttfilen:

mount Sidekiq::Web => '/sidekiq'


  1. Jedis Ändra Redis semantik?

  2. Fel jemalloc/jemalloc.h:Ingen sådan fil eller katalog när du gör Redis

  3. Mongoose:ObjectId-jämförelser misslyckas inkonsekvent

  4. Formatera ISODate från Mongodb