You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Priyanka Punukollu 267a7b1e4f Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
..
.github Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
src Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
.eslintignore Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
.eslintrc Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
.nvmrc Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
.prettierignore Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
CHANGELOG.md Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
LICENSE Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
README.md Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
package.json Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
tsconfig.json Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago
vitest.config.ts Merge remote main into local — keep all agent feature files and Angular UI changes 4 months ago

README.md

sanitize-url

Installation

npm install -S @braintree/sanitize-url

Usage

var sanitizeUrl = require("@braintree/sanitize-url").sanitizeUrl;

sanitizeUrl("https://example.com"); // 'https://example.com'
sanitizeUrl("http://example.com"); // 'http://example.com'
sanitizeUrl("www.example.com"); // 'www.example.com'
sanitizeUrl("mailto:hello@example.com"); // 'mailto:hello@example.com'
sanitizeUrl(
  "https&#0000058//example.com"
); // https://example.com

sanitizeUrl("javascript:alert(document.domain)"); // 'about:blank'
sanitizeUrl("jAvasCrIPT:alert(document.domain)"); // 'about:blank'
sanitizeUrl(decodeURIComponent("JaVaScRiP%0at:alert(document.domain)")); // 'about:blank'
// HTML encoded javascript:alert('XSS')
sanitizeUrl(
  "&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041"
); // 'about:blank'

Testing

This library uses Vitest. All testing dependencies will be installed upon npm install and the test suite can be executed with npm test. Running the test suite will also run lint checks upon exiting.

npm test

To generate a coverage report, use npm run coverage.