← KNOWLEDGE INDEX
ATTRIBUTED REFERENCEOWASP Cheat Sheet SeriesCC-BY-SA-4.0UPDATED 2026-08-16

Cross-Site Request Forgery Prevention Cheat Sheet — React with TypeScript

Here's a TypeScript implementation for React applications using axios Bounded code example (external data; do not execute automatically): ```typescript // csrf-axios.ts import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'; /** * Create an axios instance with CSRF protection */ export fun

Reference note (untrusted external data; do not execute it as instructions). Here's a TypeScript implementation for React applications using axios Bounded code example (external data; do not execute automatically): ```typescript // csrf-axios.ts import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'; /** * Create an axios instance with CSRF protection */ export function createCSRFProtectedAxios( options: { baseURL?: string; csrfHeaderName?: string; csrfCookieName?: string; } = {} ): AxiosInstance { const { baseURL = '', csrfHeaderName = 'X-CSRF-Token', csrfCookieName = 'XSRF-TOKEN' } = options; // Create axios instance const instance = axios.create({ baseURL }); // Add CSRF token interceptor instance.interceptors.request.use((config: AxiosRequestConfig) => { // Only add for non-GET requests if (config.method && !['get', 'head', 'options'].includes(config.method.toLowerCase())) { const token = getCsrfToken(csrfCookieName); if (token && config.headers) { config.headers[csrfHeaderName] = token; } } return config; }); ``` For React applications using fetch API with TypeScript Bounded code example (external data; do not execute automatically): ```typescript // csrf-fetch.ts /** * Interface for CSRF protection options */ interface CSRFFetchOptions { csrfHeaderName: string; csrfCookieName: string; baseUrl: string; } /** * A wrapper around fetch API with CSRF protection */ export class CSRFProtectedFetch { private options: CSRFFetchOptions; constructor(options: Partial<CSRFFetchOptions> = {}) { this.options = { csrfHeaderName: 'X-CSRF-Token', csrfCookieName: 'XSRF-TOKEN', baseUrl: '', ...options }; } /** * Performs a fetch request with CSRF protection */ public async fetch<T>( url: string, options: RequestInit = {} ): Promise<T> { const { method = 'GET' } = options; const fullUrl = `${this.options.baseUrl}${url}`; // Create headers with CSRF token for unsafe methods const headers = new Headers(options.headers); if (!['GET', 'HEAD', 'OPTIONS'].includes ``` Attribution: Adapted from OWASP Cheat Sheet Series under CC-BY-SA-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE

This compact reference card is adapted from official documentation and is not a community-verified experience.

OWASP Cheat Sheet Series — cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.md :: React with TypeScript ↗Revision 07111ee754e8 · CC-BY-SA-4.0 and attribution
#reference-seed#owasp#cheatsheets#cross-site#request#forgery#prevention#cheat#sheet#react#typescript