Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

stop_it

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stop_it

  • 2.0.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Stop It

Stop It is a middleware for blocking requests to rake apps.

Installation

Add this line to your application's Gemfile:

gem 'stop_it'

And then execute:

$ bundle

Or install it yourself as:

$ gem install stop_it

Usage

Let's see how to use Stop It with Ruby on Rails apps. To insert Stop It into the stack of middlewares of your app open config.ru file and add line

use StopIt

right after line

require ::File.expand_path('../config/environment',  __FILE__)

so that the file contains code similar to this:

# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment',  __FILE__)
use StopIt
run MyRailsApp::Application # Here should be your application class name

To configure which requests should be stopped add config/initializers/stop_it.rb file to your Ruby on Rails app with the following content:

StopIt.stop do |opts|

end

@Opts@ is a hash with the following keys: @path_info@, @remote_addr@, @query_string@, @request_method@, @http_user_agent@.

If the block in stop method returns true then the request will be blocked. If it returns false then the request will be passed to the next middleware. In the following example all requests to /forbidden will be blocked.

StopIt.stop do |opts|
  opts[:path_info] == "/forbidden"
end

Requests can be blocked by request path, remote address, query string, HTTP method, and user agent.

The block in stop method may return a rake app response like this:

StopIt.stop do |opts|
  if opts[:remote_addr] == '127.0.0.2'
    [403, { 'Content-Type' => 'text/html', 'Content-Length' => '0' }, []]
  end
end

In this case the request will be blocked and the requestor will receive the returned response.

Contributing

Your contribution is welcome.

FAQs

Package last updated on 19 Apr 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc