mirror of
https://github.com/tenrok/axios.git
synced 2026-05-30 15:24:11 +03:00
07a661a2a6
* fix(sec): disregard protocol-relative URL to remediate SSRF Signed-off-by: hainenber <dotronghai96@gmail.com> * feat(test/unit/regression): add regression test to ensure SNYK-JS-AXIOS-7361793 fixed in future version Signed-off-by: hainenber <dotronghai96@gmail.com> * chore: add EoF newline + comments Signed-off-by: hainenber <dotronghai96@gmail.com> * chore: fix eslint issues Signed-off-by: hainenber <dotronghai96@gmail.com> * Update SNYK-JS-AXIOS-7361793.js Co-authored-by: tom-reinders <tom-reinders@users.noreply.github.com> --------- Signed-off-by: hainenber <dotronghai96@gmail.com> Co-authored-by: tom-reinders <tom-reinders@users.noreply.github.com>
16 lines
528 B
JavaScript
16 lines
528 B
JavaScript
'use strict';
|
|
|
|
/**
|
|
* Determines whether the specified URL is absolute
|
|
*
|
|
* @param {string} url The URL to test
|
|
*
|
|
* @returns {boolean} True if the specified URL is absolute, otherwise false
|
|
*/
|
|
export default function isAbsoluteURL(url) {
|
|
// A URL is considered absolute if it begins with "<scheme>://".
|
|
// RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
|
|
// by any combination of letters, digits, plus, period, or hyphen.
|
|
return /^([a-z][a-z\d+\-.]*:)\/\//i.test(url);
|
|
}
|