remix-utils
Version:
This package contains simple utility functions to use with [React Router](https://reactrouter.com/).
23 lines • 812 B
JavaScript
const DEFAULT_REDIRECT = "/";
/**
* This should be used any time the redirect path is user-provided
* (Like the query string on our login/signup pages). This avoids
* open-redirect vulnerabilities.
* @param {string} to The redirect destination
* @param {string} defaultRedirect The redirect to use if the to is unsafe.
* @license MIT
* @author https://github.com/jacob-ebey
*/
export function safeRedirect(to, defaultRedirect = DEFAULT_REDIRECT) {
if (!to || typeof to !== "string")
return defaultRedirect;
let trimmedTo = to.trim();
if (!trimmedTo.startsWith("/") ||
trimmedTo.startsWith("//") ||
trimmedTo.startsWith("/\\") ||
trimmedTo.includes("..")) {
return defaultRedirect;
}
return trimmedTo;
}
//# sourceMappingURL=safe-redirect.js.map