An open API service indexing awesome lists of open source software.

https://github.com/arcjet/example-expressjs

An example Express.js site protected by Arcjet bot detection, rate limiting, and Shield WAF.
https://github.com/arcjet/example-expressjs

bot-detection developer-tools express express-middleware expressjs javascript nodejs rate-limiting security security-tools typescript

Last synced: 5 months ago
JSON representation

An example Express.js site protected by Arcjet bot detection, rate limiting, and Shield WAF.

Awesome Lists containing this project

README

          




Arcjet Logo

# Arcjet example: Express.js

[Arcjet](https://arcjet.com) helps developers protect their apps in just a few
lines of code. Bot detection. Rate limiting. Email validation. Attack
protection. Data redaction. A developer-first approach to security.

This is an example Express.js application demonstrating how to protect a website
from abuse.

## Features

- [Bot protection](https://docs.arcjet.com/bot-protection/quick-start) shows how
the site can be protected from automated clients.
- [Rate limiting](https://docs.arcjet.com/rate-limiting/quick-start) shows a
rate limit configuration that limits the number of requests from a single IP.
- [Attack protection](https://docs.arcjet.com/shield/quick-start) demonstrates
Arcjet Shield, which detects suspicious behavior, such as SQL injection and
cross-site scripting attacks.

## Run locally

1. [Register for a free Arcjet account](https://app.arcjet.com).

2. Install dependencies:

```bash
npm ci
```

3. Rename `.env.local.example` to `.env.local` and add your Arcjet key.

4. Start the dev server

```bash
npm run start
```

5. Open [http://localhost:3000](http://localhost:3000) in your browser.

## Need help?

Check out [the docs](https://docs.arcjet.com/), [contact
support](https://docs.arcjet.com/support), or [join our Discord
server](https://arcjet.com/discord).

## Contributing

All development for Arcjet examples is done in the
[`arcjet/examples` repository](https://github.com/arcjet/examples).

You are welcome to open an issue here or in
[`arcjet/examples`](https://github.com/arcjet/examples/issues) directly.
However, please direct all pull requests to
[`arcjet/examples`](https://github.com/arcjet/examples/pulls). Take a look at
our
[contributing guide](https://github.com/arcjet/examples/blob/main/CONTRIBUTING.md)
for more information.