upstash-ratelimit-js
Implement Upstash Rate Limits for JavaScript APIs
Serverless APIs need request limits that balance abuse prevention, latency, and Redis costs. This skill guides SDK integration, algorithm selection, and operational configuration with focused TypeScript examples.
๋ด ์์ด์ ํธ๋ก ์ค์น
์ด ์์ฒญ์ ์์ด์ ํธ์ ๋ณต์ฌํ์ธ์. ๊ณต์ Skill ํ์ด์ง์ ๋งค๋ํ์คํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Review the Skillstore skill "upstash-ratelimit-js" from https://skillstore.io/skills/upstash-upstash-ratelimit-js.md and its manifest at https://skillstore.io/api/skills/upstash-upstash-ratelimit-js/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.์์ด์ ํธ๋ ๊ณ์ํด์ ๊ณํ์ ํ์ํ๊ณ ๋ณด์ ์ ์ฑ ์์ ์๊ตฌํ๋ ํ์ธ์ ์์ฒญํด์ผ ํฉ๋๋ค.
์์ด์ ํธ๊ฐ ์ฝ๊ธฐ ์ฌ์ด ๋ฆฌ์์ค
AI ์์ด์ ํธ, ํฌ๋กค๋ฌ, ์คํฌ๋ฆฝํธ๊ฐ ์ ์ฒด ํ์ด์ง ๋์ ์ ๋ฆฌ๋ ์ปจํ ์คํธ๋ง ํ์ํ ๋ ์ด ๋งํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
ํ ์คํธํด ๋ณด๊ธฐ
"upstash-ratelimit-js" ์ฌ์ฉ ์ค์ ๋๋ค. Which algorithm should I use for a low-cost, single-region endpoint that tolerates boundary bursts?
์์ ๊ฒฐ๊ณผ:
- Fixed window fits these requirements because its documented Redis command count is lower than sliding window.
- Requests near a window boundary can create bursts beyond the intended short-term rate.
- Choose a stable identifier and test behavior across window transitions before deployment.
"upstash-ratelimit-js" ์ฌ์ฉ ์ค์ ๋๋ค. My edge deployment loses analytics updates and rarely benefits from the block cache. What should I check?
์์ ๊ฒฐ๊ณผ:
- Create the limiter or shared ephemeral cache outside the request handler so warm invocations can reuse blocked identifiers.
- Pass the pending promise to the runtime background task mechanism so analytics and replication can finish.
- Cold starts still begin with empty caches, so cache savings depend on runtime reuse and traffic patterns.
๋ณด์ ๊ฐ์ฌ
์์ All 14 static findings are false positives involving documentation prose, Markdown formatting, example addresses, or legitimate Redis configuration. No evidence found of prompt injection, unauthorized command execution, credential exfiltration, or malicious intent in the reviewed files. Application integrations still require Redis credentials and deliberate timeout and consistency policies.
์ํ ์์ธ
๐ ๋คํธ์ํฌ ์ ๊ทผ (7)
๐ ํ๊ฒฝ ๋ณ์ (2)
โ๏ธ ์ธ๋ถ ๋ช ๋ น์ด (2)
์ด ๋ณด๊ณ ์ ๊ณต์ ๋ฐ ์ธ์ฉ
๋ฒ์ ์ด ์ง์ ๋ ํ๊ฐ ๋ณด๊ณ ์, ์ค๋ฆฝ ๋ฐฐ์ง, ์๋ฒ ๋ ์นด๋ ๋ฐ ์ธ์ฉ์ ๊ณต์ ํ์ธ์. Skillstore๋ ๊ทผ๊ฑฐ๋ฅผ ๋ณด๊ณ ํ์ง๋ง ์ด Skill์ ์์ ์ฌ๋ถ๋ฅผ ํ๋จํ์ง ์์ต๋๋ค.
๋ณด๊ณ ์ ๋งํฌ ๋ณต์ฌ
https://skillstore.io/skills/upstash-upstash-ratelimit-js/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown ๋ฐฐ์ง
[](https://skillstore.io/skills/upstash-upstash-ratelimit-js?utm_source=security_passport_badge)HTML ๋ฐฐ์ง
<a href="https://skillstore.io/skills/upstash-upstash-ratelimit-js?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/upstash-upstash-ratelimit-js/security.svg" alt="Skillstore security assessment" loading="lazy"></a>์๋ฒ ๋ ์นด๋
<iframe src="https://skillstore.io/embed/skills/upstash-upstash-ratelimit-js.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>ํ์ ์ธ์ฉ (APA ยท BibTeX ยท CFF)
APA ์ธ์ฉ
upstash. (2026). upstash-ratelimit-js security audit report (audit version 1) [Author version unspecified]. Skillstore. https://skillstore.io/skills/upstash-upstash-ratelimit-js/audits/1BibTeX ์ธ์ฉ
@techreport{upstash-upstash-upstash-ratelimit-js-2026,
author = {upstash},
title = {upstash-ratelimit-js security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/upstash-upstash-ratelimit-js/audits/1},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "upstash-ratelimit-js security audit report (audit version 1)"
version: "unspecified"
type: report
authors:
- name: "upstash"
date-released: "2026-10-29"
url: "https://skillstore.io/skills/upstash-upstash-ratelimit-js/audits/1"
identifiers:
- type: other
value: "skillstore:upstash-upstash-ratelimit-js:audit:1"
description: "Skillstore immutable audit report identifier"
Skillstore ์ ์
์ด ์ ์์ ์ด์ ์ฆ๊ฑฐ ์ ๋ขฐ๋: ์ค๊ฐ๋ง๋ค ์ ์๋ ๊ฒ
Throttle a serverless API
Add per-user limits to an API route and return a 429 response when the quota is exhausted.
Plan Redis capacity and costs
Compare algorithm command counts, cache behavior, and replication overhead before choosing a regional deployment strategy.
Configure abuse protection
Apply deny-list checks to client metadata and account for exact matching, cached blocks, and asynchronous IP list updates.
์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์
Show a TypeScript Upstash rate limiter allowing five requests per user every ten seconds. Explain Redis configuration and handling rejected requests without exposing secrets.
Compare fixed window, sliding window, and token bucket for my API. Ask about burst tolerance, regional deployment, and Redis costs before recommending an algorithm.
Review my edge rate limiter for cache placement, timeout behavior, analytics, and pending task completion. Identify integration gaps and propose changes using bundled SDK documentation.
Design limits for free and paid tenants across two regions. Compare prefixes, weighted requests, protection, and command costs, and explain consistency and dynamic-limit restrictions.
๋ชจ๋ฒ ์ฌ๋ก
- Check bundled SDK documentation and source before implementing version-sensitive options, and keep Redis credentials in server-side configuration.
- Reuse limiters outside serverless handlers and complete pending background work through the runtime lifecycle.
- Choose trusted identifiers and test rejection, timeout, and regional consistency behavior against your security requirements.
ํผํ๊ธฐ
- Treating timeout success or multi-region quotas as strict abuse prevention guarantees.
- Creating a fresh ephemeral cache for every request and expecting persistent block caching.
- Assuming deny lists support CIDR ranges or patterns, or omitting client metadata required by protection checks.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Does this skill run a rate limiting service?
Which languages and runtimes does it cover?
Does it require credentials?
Are requests always blocked when Redis is unavailable?
Can I use dynamic limits across multiple regions?
Can this skill estimate my Redis bill?
๊ฐ๋ฐ์ ์ธ๋ถ ์ ๋ณด
์์ฑ์
upstash๋ผ์ด์ ์ค
MIT
Skillstore ๋ฆฌ๋น์
r1
๋ฒ์ ์๋ด
์์ฑ์๊ฐ ๋ฒ์ ์ ์ ์ธํ์ง ์์์ต๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ
https://github.com/upstash/skills/tree/adffa8896cd8e75649366a34183ecab6156e33c0/skills/upstash-ratelimit-js์ฐธ์กฐ
91cd54c30dc04e4a3cfe02dd687a03c81d0c00bc
์ ์ง๋ณด์ ์ต์ ์ฑ
2026. 10. 29.
์ฌ์ฉ๋
0 ๋ค์ด๋ก๋ ยท 0 ์กฐํ
ํ์ผ ๊ตฌ์กฐ
๐ algorithms.md
๐ features.md
๐ methods-getting-started.md
๐ pricing-cost.md
๐ SKILL.md