@braintree/sanitize-url
TypeScript icon, indicating that this package has built-in type declarations

7.0.1 • Public • Published

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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 7.0.1
    104,690
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 7.0.1
    104,690
  • 7.0.0
    63,669
  • 6.0.4
    703,681
  • 6.0.3
    1,003
  • 6.0.2
    242,905
  • 6.0.1
    19,386
  • 6.0.0
    105,043

Package Sidebar

Install

npm i @braintree/sanitize-url

Weekly Downloads

1,328,882

Version

7.0.1

License

MIT

Unpacked Size

19.6 kB

Total Files

19

Last publish

Collaborators

  • braintree