@netacea/netaceaintegrationbase 2.0.17 → 2.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +562 -0
- package/dist/index.d.ts +572 -7
- package/dist/index.mjs +543 -0
- package/package.json +21 -9
- package/CHANGELOG.md +0 -1322
- package/dist/NetaceaBase.enums.d.ts +0 -68
- package/dist/NetaceaBase.enums.js +0 -73
- package/dist/NetaceaBase.enums.js.map +0 -1
- package/dist/NetaceaBase.types.d.ts +0 -379
- package/dist/NetaceaBase.types.js +0 -2
- package/dist/NetaceaBase.types.js.map +0 -1
- package/dist/dictionary.d.ts +0 -27
- package/dist/dictionary.js +0 -85
- package/dist/dictionary.js.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/lib/cookie/attributes.d.ts +0 -5
- package/dist/lib/cookie/attributes.js +0 -86
- package/dist/lib/cookie/attributes.js.map +0 -1
- package/dist/lib/cookie/netaceaSession.d.ts +0 -13
- package/dist/lib/cookie/netaceaSession.js +0 -23
- package/dist/lib/cookie/netaceaSession.js.map +0 -1
- package/dist/lib/index.d.ts +0 -8
- package/dist/lib/index.js +0 -9
- package/dist/lib/index.js.map +0 -1
- package/dist/mitataCookie.d.ts +0 -37
- package/dist/mitataCookie.js +0 -109
- package/dist/mitataCookie.js.map +0 -1
- package/dist/netaceaCookieV3.d.ts +0 -7
- package/dist/netaceaCookieV3.js +0 -113
- package/dist/netaceaCookieV3.js.map +0 -1
- package/dist/utils.d.ts +0 -4
- package/dist/utils.js +0 -19
- package/dist/utils.js.map +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line complexity
|
|
2
|
-
export function configureCookiesDomain(cookieAttr, captchaCookieAttr) {
|
|
3
|
-
cookieAttr = removeDuplicateAttrs(cookieAttr ?? '', true);
|
|
4
|
-
captchaCookieAttr = removeDuplicateAttrs(captchaCookieAttr ?? '', true);
|
|
5
|
-
let finalCookieAttr = cookieAttr;
|
|
6
|
-
let finalCaptchaCookieAttr = captchaCookieAttr;
|
|
7
|
-
if (cookieAttr !== undefined && captchaCookieAttr !== undefined) {
|
|
8
|
-
const domain = extractCookieAttr(cookieAttr, 'Domain');
|
|
9
|
-
const captchaDomain = extractCookieAttr(captchaCookieAttr, 'Domain');
|
|
10
|
-
if (domain !== undefined && captchaDomain !== undefined) {
|
|
11
|
-
finalCaptchaCookieAttr = captchaCookieAttr.replace(captchaDomain, domain);
|
|
12
|
-
}
|
|
13
|
-
else if (domain !== undefined && captchaDomain === undefined) {
|
|
14
|
-
// eslint-disable-next-line max-len
|
|
15
|
-
finalCaptchaCookieAttr = captchaCookieAttr + (captchaCookieAttr !== '' ? `; Domain=${domain}` : `Domain=${domain}`);
|
|
16
|
-
}
|
|
17
|
-
else if (domain === undefined && captchaDomain !== undefined) {
|
|
18
|
-
finalCookieAttr = cookieAttr + (cookieAttr !== '' ? `; Domain=${captchaDomain}` : `Domain=${captchaDomain}`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else if (cookieAttr !== undefined && captchaCookieAttr === undefined) {
|
|
22
|
-
const domain = extractCookieAttr(cookieAttr, 'Domain');
|
|
23
|
-
if (domain !== undefined) {
|
|
24
|
-
finalCaptchaCookieAttr = `Domain=${domain}`;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else if (cookieAttr === undefined && captchaCookieAttr !== undefined) {
|
|
28
|
-
const captchaDomain = extractCookieAttr(captchaCookieAttr, 'Domain');
|
|
29
|
-
if (captchaDomain !== undefined) {
|
|
30
|
-
finalCookieAttr = `Domain=${captchaDomain}`;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
cookieAttributes: finalCookieAttr !== '' ? finalCookieAttr : undefined,
|
|
35
|
-
captchaCookieAttributes: finalCaptchaCookieAttr !== '' ? finalCaptchaCookieAttr : undefined
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
export function extractAndRemoveCookieAttr(attributes, attribute) {
|
|
39
|
-
const attrValue = extractCookieAttr(attributes, attribute);
|
|
40
|
-
if (attrValue !== undefined) {
|
|
41
|
-
const attributesList = attributes
|
|
42
|
-
.replace(/ /g, '')
|
|
43
|
-
.replace(`${attribute}=${attrValue}`, '')
|
|
44
|
-
.split(';')
|
|
45
|
-
.filter(z => z.length > 0);
|
|
46
|
-
return {
|
|
47
|
-
extractedAttribute: attrValue,
|
|
48
|
-
cookieAttributes: attributesList.join('; ')
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
extractedAttribute: undefined,
|
|
53
|
-
cookieAttributes: attributes
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
export function extractCookieAttr(attributes, attribute) {
|
|
57
|
-
const extractedAttr = attributes
|
|
58
|
-
.split(';')
|
|
59
|
-
.map(attr => attr.trim())
|
|
60
|
-
.filter(attr => attr.toLowerCase().startsWith(attribute.toLowerCase()))[0];
|
|
61
|
-
return (extractedAttr !== undefined && extractedAttr.length > 0)
|
|
62
|
-
? extractedAttr?.replace(`${attribute}=`, '')
|
|
63
|
-
: undefined;
|
|
64
|
-
}
|
|
65
|
-
export function removeDuplicateAttrs(attributes, keepLast = false) {
|
|
66
|
-
if (attributes === '') {
|
|
67
|
-
return '';
|
|
68
|
-
}
|
|
69
|
-
const capitalizeAttrName = (attr) => attr.charAt(0).toUpperCase() + attr.slice(1);
|
|
70
|
-
return attributes
|
|
71
|
-
.replace(/ /g, '')
|
|
72
|
-
.split(';')
|
|
73
|
-
.map(capitalizeAttrName)
|
|
74
|
-
.filter(s => s.trim() !== '')
|
|
75
|
-
.filter((attr, i, attrs) => {
|
|
76
|
-
const getAttrName = (attr) => attr.split('=')[0];
|
|
77
|
-
const attrName = getAttrName(attr);
|
|
78
|
-
const attrNames = attrs.map(getAttrName);
|
|
79
|
-
if (keepLast) {
|
|
80
|
-
return i === attrNames.lastIndexOf(attrName);
|
|
81
|
-
}
|
|
82
|
-
return i === attrNames.indexOf(attrName);
|
|
83
|
-
})
|
|
84
|
-
.join('; ');
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=attributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/lib/cookie/attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
interface SetCookieCreationArgs {
|
|
2
|
-
cookieName: string;
|
|
3
|
-
cookieValue: string;
|
|
4
|
-
maxAgeAttribute?: string;
|
|
5
|
-
otherAttributes?: string;
|
|
6
|
-
}
|
|
7
|
-
interface SetCookieCreationArgsWithOptionalName extends Omit<SetCookieCreationArgs, 'cookieName'> {
|
|
8
|
-
cookieName?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function createSetCookieString(args: SetCookieCreationArgs): string;
|
|
11
|
-
export declare function createNetaceaSetCookieString(args: SetCookieCreationArgsWithOptionalName): string;
|
|
12
|
-
export declare function createNetaceaCaptchaSetCookieString(args: SetCookieCreationArgsWithOptionalName): string;
|
|
13
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { removeDuplicateAttrs } from './attributes';
|
|
2
|
-
export function createSetCookieString(args) {
|
|
3
|
-
// prefer attributes set in otherAttributes (customer configured)
|
|
4
|
-
const attributes = removeDuplicateAttrs([
|
|
5
|
-
args.otherAttributes ?? '',
|
|
6
|
-
`Max-Age=${args.maxAgeAttribute ?? 86400}`,
|
|
7
|
-
'Path=/'
|
|
8
|
-
].join('; '));
|
|
9
|
-
return `${args.cookieName}=${args.cookieValue}; ${attributes}`;
|
|
10
|
-
}
|
|
11
|
-
export function createNetaceaSetCookieString(args) {
|
|
12
|
-
return createSetCookieString({
|
|
13
|
-
...args,
|
|
14
|
-
cookieName: args.cookieName ?? '_mitata'
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
export function createNetaceaCaptchaSetCookieString(args) {
|
|
18
|
-
return createSetCookieString({
|
|
19
|
-
...args,
|
|
20
|
-
cookieName: args.cookieName ?? '_mitatacaptcha'
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=netaceaSession.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"netaceaSession.js","sourceRoot":"","sources":["../../../src/lib/cookie/netaceaSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAanD,MAAM,UAAU,qBAAqB,CAAE,IAA2B;IAChE,iEAAiE;IACjE,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACtC,IAAI,CAAC,eAAe,IAAI,EAAE;QAC1B,WAAW,IAAI,CAAC,eAAe,IAAI,KAAK,EAAE;QAC1C,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEb,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAE,IAA2C;IACvF,OAAO,qBAAqB,CAAC;QAC3B,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;KACzC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAE,IAA2C;IAC9F,OAAO,qBAAqB,CAAC;QAC3B,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,gBAAgB;KAChD,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/lib/index.d.ts
DELETED
package/dist/lib/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as cookieAttributes from './cookie/attributes';
|
|
2
|
-
import * as netaceaSessionCookie from './cookie/netaceaSession';
|
|
3
|
-
export const lib = {
|
|
4
|
-
cookie: {
|
|
5
|
-
attributes: cookieAttributes,
|
|
6
|
-
netaceaSession: netaceaSessionCookie
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,oBAAoB,MAAM,yBAAyB,CAAA;AAE/D,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE;QACN,UAAU,EAAE,gBAAgB;QAC5B,cAAc,EAAE,oBAAoB;KACrC;CACF,CAAA"}
|
package/dist/mitataCookie.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { NetaceaCookieV3 } from './NetaceaBase.types';
|
|
2
|
-
import { NetaceaCookieV3IssueReason } from './NetaceaBase.enums';
|
|
3
|
-
export declare const ingestIgnoredIpValue = "ignored";
|
|
4
|
-
export interface MitataCookie {
|
|
5
|
-
signature: string;
|
|
6
|
-
expiry: string;
|
|
7
|
-
userId: string;
|
|
8
|
-
ipHash: string;
|
|
9
|
-
mitigationType: string;
|
|
10
|
-
match: number;
|
|
11
|
-
mitigate: number;
|
|
12
|
-
captcha: number;
|
|
13
|
-
}
|
|
14
|
-
export interface CheckCookieResponse {
|
|
15
|
-
mitata: MitataCookie | NetaceaCookieV3 | undefined;
|
|
16
|
-
requiresReissue: boolean;
|
|
17
|
-
isExpired: boolean;
|
|
18
|
-
shouldExpire: boolean;
|
|
19
|
-
isSameIP: boolean;
|
|
20
|
-
isPrimaryHashValid: boolean;
|
|
21
|
-
match: number;
|
|
22
|
-
mitigate: number;
|
|
23
|
-
captcha: number;
|
|
24
|
-
issueReason?: NetaceaCookieV3IssueReason;
|
|
25
|
-
}
|
|
26
|
-
export declare function matchMitataCookie(netaceaCookie: string | undefined): MitataCookie | undefined;
|
|
27
|
-
export declare function generateId(length?: number, charset?: string[]): string;
|
|
28
|
-
export declare function createMitataCookie(clientIP: string, userId: string | undefined, expiryTime: number, saltKey: string, mitCode?: string): string;
|
|
29
|
-
export declare function hexSha256(value: string, saltKey: string): string;
|
|
30
|
-
interface WarmupCookie {
|
|
31
|
-
cookie: string;
|
|
32
|
-
secretKey: string;
|
|
33
|
-
clientIP: string;
|
|
34
|
-
}
|
|
35
|
-
export declare const warmupCookie: WarmupCookie;
|
|
36
|
-
export declare function checkMitataCookie(netaceaCookie: string | undefined, clientIP: string, secretKey: string): CheckCookieResponse;
|
|
37
|
-
export {};
|
package/dist/mitataCookie.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { createHmac, randomBytes } from 'crypto';
|
|
2
|
-
import { COOKIEDELIMITER } from './dictionary';
|
|
3
|
-
import { Buffer } from 'buffer';
|
|
4
|
-
// Using clientIP has no advantage when setting cookies in Ingest Only mode.
|
|
5
|
-
// We therefore use a dummy value in place of the IP.
|
|
6
|
-
// This brings its own advantage in that if the integration is switched
|
|
7
|
-
// from INGEST to MITIGATE, then the INGEST cookie will be treated as expired
|
|
8
|
-
// & a new MITIGATE cookie will be set
|
|
9
|
-
export const ingestIgnoredIpValue = 'ignored';
|
|
10
|
-
const BASE_62_CHARSET = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
|
|
11
|
-
const mitataCookieRegExp = /^(.*)_\/@#\/(.*)_\/@#\/(.*)_\/@#\/(.*)_\/@#\/((\d)(\d)(\d))$/;
|
|
12
|
-
export function matchMitataCookie(netaceaCookie) {
|
|
13
|
-
if (netaceaCookie === undefined) {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
const matches = netaceaCookie.match(mitataCookieRegExp);
|
|
17
|
-
if (matches !== null && matches !== undefined) {
|
|
18
|
-
const [, signature, expiry, userId, ipHash, mitigationType, match, mitigate, captcha] = matches;
|
|
19
|
-
return {
|
|
20
|
-
signature,
|
|
21
|
-
expiry,
|
|
22
|
-
userId,
|
|
23
|
-
ipHash,
|
|
24
|
-
mitigationType,
|
|
25
|
-
match: parseInt(match),
|
|
26
|
-
mitigate: parseInt(mitigate),
|
|
27
|
-
captcha: parseInt(captcha)
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
export function generateId(length = 16, charset = BASE_62_CHARSET) {
|
|
33
|
-
const randomBytesBuffer = randomBytes(length - 1);
|
|
34
|
-
const randomString = Array.from(randomBytesBuffer)
|
|
35
|
-
.map(byte => charset[byte % charset.length])
|
|
36
|
-
.join('');
|
|
37
|
-
return `c${randomString}`;
|
|
38
|
-
}
|
|
39
|
-
export function createMitataCookie(clientIP, userId, expiryTime, saltKey, mitCode = '000') {
|
|
40
|
-
if (userId === undefined) {
|
|
41
|
-
userId = generateId();
|
|
42
|
-
}
|
|
43
|
-
const ipHash = hexSha256(clientIP + '|' + String(expiryTime), saltKey);
|
|
44
|
-
const originCookieValue = [
|
|
45
|
-
expiryTime,
|
|
46
|
-
userId,
|
|
47
|
-
ipHash,
|
|
48
|
-
mitCode
|
|
49
|
-
].join(COOKIEDELIMITER);
|
|
50
|
-
const value = hexSha256(originCookieValue, saltKey);
|
|
51
|
-
const cookieValue = `${value}${COOKIEDELIMITER}${originCookieValue}`;
|
|
52
|
-
return cookieValue;
|
|
53
|
-
}
|
|
54
|
-
export function hexSha256(value, saltKey) {
|
|
55
|
-
const hash = createHmac('sha256', saltKey);
|
|
56
|
-
hash.update(value);
|
|
57
|
-
return Buffer.from(hash.digest('hex')).toString('base64');
|
|
58
|
-
}
|
|
59
|
-
export const warmupCookie = {
|
|
60
|
-
// eslint-disable-next-line max-len
|
|
61
|
-
cookie: 'MzBkZDEwYjc0ZmIyMzQ4YmY0OTlhNTkyNjY0MDRjMjhjNmQ5Y2RlYjVkYzVkMDQyZmEzODU4MDBiN2MwNTk1OQ==_/@#/1653044256_/@#/UUID_/@#/NjEyOWIzY2JiMjE5NjcwMThlYjg5NDYzY2YyMDZlYjE0ZDg2NTRjYmMxODg5Y2I4Y2U2NGFjZDAxOTdhMGFmNA==_/@#/000',
|
|
62
|
-
secretKey: 'EXAMPLE_SECRET_KEY',
|
|
63
|
-
clientIP: '192.168.0.1'
|
|
64
|
-
};
|
|
65
|
-
export function checkMitataCookie(netaceaCookie, clientIP, secretKey) {
|
|
66
|
-
const defaultInvalidResponse = {
|
|
67
|
-
mitata: undefined,
|
|
68
|
-
requiresReissue: false,
|
|
69
|
-
isExpired: false,
|
|
70
|
-
shouldExpire: false,
|
|
71
|
-
isSameIP: false,
|
|
72
|
-
isPrimaryHashValid: false,
|
|
73
|
-
captcha: 0,
|
|
74
|
-
match: 0,
|
|
75
|
-
mitigate: 0
|
|
76
|
-
};
|
|
77
|
-
if (typeof netaceaCookie !== 'string' || netaceaCookie === '') {
|
|
78
|
-
return defaultInvalidResponse;
|
|
79
|
-
}
|
|
80
|
-
const mitata = matchMitataCookie(netaceaCookie);
|
|
81
|
-
if (mitata !== undefined) {
|
|
82
|
-
// Check cookie signature
|
|
83
|
-
const mitSvcStringValue = [
|
|
84
|
-
mitata.expiry, mitata.userId, mitata.ipHash, mitata.mitigationType
|
|
85
|
-
].join(COOKIEDELIMITER);
|
|
86
|
-
const currentUnixTime = Math.floor(Date.now() / 1000);
|
|
87
|
-
const isExpired = parseInt(mitata.expiry) < currentUnixTime;
|
|
88
|
-
// serve, fail, cookiefail
|
|
89
|
-
const isCaptchaServe = [1, 3, 5].includes(mitata.captcha);
|
|
90
|
-
const isHardBlocked = mitata.mitigate === 3;
|
|
91
|
-
const shouldExpire = isCaptchaServe || isHardBlocked;
|
|
92
|
-
const currentIPHash = hexSha256(clientIP + '|' + mitata.expiry, secretKey);
|
|
93
|
-
const isSameIP = mitata.ipHash === currentIPHash;
|
|
94
|
-
const valid = mitata.signature === hexSha256(mitSvcStringValue, secretKey);
|
|
95
|
-
return {
|
|
96
|
-
mitata,
|
|
97
|
-
requiresReissue: isExpired || !isSameIP,
|
|
98
|
-
isExpired,
|
|
99
|
-
shouldExpire,
|
|
100
|
-
isSameIP,
|
|
101
|
-
isPrimaryHashValid: valid,
|
|
102
|
-
match: mitata.match,
|
|
103
|
-
mitigate: mitata.mitigate,
|
|
104
|
-
captcha: mitata.captcha
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
return defaultInvalidResponse;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=mitataCookie.js.map
|
package/dist/mitataCookie.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mitataCookie.js","sourceRoot":"","sources":["../src/mitataCookie.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { CheckCookieResponse, NetaceaCookieV3 } from './NetaceaBase.types';
|
|
2
|
-
export declare function createNetaceaCookieV3(cookieParams: NetaceaCookieV3): string;
|
|
3
|
-
export declare function cookieIsNetaceaV3Format(cookie: string | undefined): boolean;
|
|
4
|
-
export declare function objectIsNetaceaCookieV3(obj: unknown): obj is NetaceaCookieV3;
|
|
5
|
-
export declare function checkNetaceaCookieV3(netaceaCookie: string | undefined, clientIP: string): CheckCookieResponse;
|
|
6
|
-
export declare function matchNetaceaCookieV3(netaceaCookie: string | undefined): NetaceaCookieV3 | undefined;
|
|
7
|
-
export declare function defaultInvalidResponse(): CheckCookieResponse;
|
package/dist/netaceaCookieV3.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { NetaceaCookieV3IssueReason } from './NetaceaBase.enums';
|
|
2
|
-
import { netaceaCookieV3KeyMap, netaceaCookieV3OptionalKeyMap } from './dictionary';
|
|
3
|
-
export function createNetaceaCookieV3(cookieParams) {
|
|
4
|
-
const paramEntries = Object.entries(cookieParams);
|
|
5
|
-
const cookieParts = paramEntries
|
|
6
|
-
.filter(([_, v]) => v !== undefined)
|
|
7
|
-
.map(([key, value]) => {
|
|
8
|
-
if (key in netaceaCookieV3OptionalKeyMap) {
|
|
9
|
-
return `${netaceaCookieV3OptionalKeyMap[key]}=${encodeURIComponent(value)}`;
|
|
10
|
-
}
|
|
11
|
-
return `${netaceaCookieV3KeyMap[key]}=${encodeURIComponent(value)}`;
|
|
12
|
-
});
|
|
13
|
-
return cookieParts.join('&');
|
|
14
|
-
}
|
|
15
|
-
export function cookieIsNetaceaV3Format(cookie) {
|
|
16
|
-
if (cookie === undefined) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return cookie.split('&')
|
|
20
|
-
.map(part => part.split('=')[0]) // E.g. 'cip' in cip=1.2.3.4
|
|
21
|
-
.filter(key => !Object.values(netaceaCookieV3OptionalKeyMap).includes(key)) // Filter out optional keys
|
|
22
|
-
.every(key => Object.values(netaceaCookieV3KeyMap).includes(key));
|
|
23
|
-
}
|
|
24
|
-
export function objectIsNetaceaCookieV3(obj) {
|
|
25
|
-
if (typeof obj !== 'object' || obj === null) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
for (const key of Object.keys(netaceaCookieV3KeyMap)) {
|
|
29
|
-
if (!(key in obj)) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
if (obj[key] === undefined) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
export function checkNetaceaCookieV3(netaceaCookie, clientIP) {
|
|
39
|
-
if (netaceaCookie === undefined || netaceaCookie === '') {
|
|
40
|
-
return defaultInvalidResponse();
|
|
41
|
-
}
|
|
42
|
-
const netaceaCookieV3 = matchNetaceaCookieV3(netaceaCookie);
|
|
43
|
-
if (netaceaCookieV3 !== undefined) {
|
|
44
|
-
const currentUnixTime = Math.floor(Date.now() / 1000);
|
|
45
|
-
const expiryTimestamp = netaceaCookieV3.issueTimestamp + netaceaCookieV3.gracePeriod;
|
|
46
|
-
const isExpired = expiryTimestamp < currentUnixTime;
|
|
47
|
-
const isSameIP = clientIP === netaceaCookieV3.clientIP;
|
|
48
|
-
// serve, fail, cookiefail
|
|
49
|
-
const isCaptchaServe = [1, 3, 5].includes(netaceaCookieV3.captcha);
|
|
50
|
-
const isHardBlocked = netaceaCookieV3.mitigate === 3;
|
|
51
|
-
const shouldExpire = isCaptchaServe || isHardBlocked;
|
|
52
|
-
return {
|
|
53
|
-
mitata: netaceaCookieV3,
|
|
54
|
-
requiresReissue: isExpired || !isSameIP,
|
|
55
|
-
isExpired,
|
|
56
|
-
shouldExpire,
|
|
57
|
-
isSameIP,
|
|
58
|
-
isPrimaryHashValid: true,
|
|
59
|
-
match: netaceaCookieV3.match,
|
|
60
|
-
mitigate: netaceaCookieV3.mitigate,
|
|
61
|
-
captcha: netaceaCookieV3.captcha,
|
|
62
|
-
issueReason: netaceaCookieV3.issueReason
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
return defaultInvalidResponse();
|
|
66
|
-
}
|
|
67
|
-
export function matchNetaceaCookieV3(netaceaCookie) {
|
|
68
|
-
if (netaceaCookie === undefined || netaceaCookie === '') {
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
const cookieParts = netaceaCookie.split('&');
|
|
72
|
-
const cookieParams = {
|
|
73
|
-
clientIP: '',
|
|
74
|
-
userId: '',
|
|
75
|
-
cookieId: '',
|
|
76
|
-
gracePeriod: 0,
|
|
77
|
-
match: 0,
|
|
78
|
-
mitigate: 0,
|
|
79
|
-
captcha: 0,
|
|
80
|
-
issueTimestamp: 0,
|
|
81
|
-
issueReason: '',
|
|
82
|
-
checkAllPostRequests: undefined
|
|
83
|
-
};
|
|
84
|
-
for (const part of cookieParts) {
|
|
85
|
-
const [key, rawValue] = part.split('=');
|
|
86
|
-
const value = decodeURIComponent(rawValue);
|
|
87
|
-
let fullKey = Object.keys(netaceaCookieV3KeyMap).find(k => netaceaCookieV3KeyMap[k] === key);
|
|
88
|
-
if (fullKey === undefined) {
|
|
89
|
-
fullKey = Object.keys(netaceaCookieV3OptionalKeyMap).find(k => netaceaCookieV3OptionalKeyMap[k] === key);
|
|
90
|
-
}
|
|
91
|
-
let parsedValue = value === '' ? undefined : Number(value);
|
|
92
|
-
if (parsedValue !== undefined && isNaN(parsedValue)) {
|
|
93
|
-
parsedValue = value;
|
|
94
|
-
}
|
|
95
|
-
cookieParams[fullKey] = parsedValue;
|
|
96
|
-
}
|
|
97
|
-
return cookieParams;
|
|
98
|
-
}
|
|
99
|
-
export function defaultInvalidResponse() {
|
|
100
|
-
return {
|
|
101
|
-
mitata: undefined,
|
|
102
|
-
requiresReissue: false,
|
|
103
|
-
isExpired: false,
|
|
104
|
-
shouldExpire: false,
|
|
105
|
-
isSameIP: false,
|
|
106
|
-
isPrimaryHashValid: false,
|
|
107
|
-
captcha: 0,
|
|
108
|
-
match: 0,
|
|
109
|
-
mitigate: 0,
|
|
110
|
-
issueReason: NetaceaCookieV3IssueReason.NO_SESSION
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=netaceaCookieV3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"netaceaCookieV3.js","sourceRoot":"","sources":["../src/netaceaCookieV3.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NetaceaMitigationType } from './NetaceaBase.enums';
|
|
2
|
-
export declare function correctTimeout(timeout: number): number;
|
|
3
|
-
export declare function safeParseInt(value: string | number, defaultValue?: number): number;
|
|
4
|
-
export declare function configureMitataExpiry(mitigationType: NetaceaMitigationType, expirySeconds: number | undefined): number;
|
package/dist/utils.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NetaceaMitigationType } from './NetaceaBase.enums';
|
|
2
|
-
const ONE_HOUR_IN_SECONDS = 60 * 60;
|
|
3
|
-
export function correctTimeout(timeout) {
|
|
4
|
-
return timeout <= 0 ? defaultTimeout : timeout;
|
|
5
|
-
}
|
|
6
|
-
export function safeParseInt(value, defaultValue = 0) {
|
|
7
|
-
if (isNaN(value)) {
|
|
8
|
-
return defaultValue;
|
|
9
|
-
}
|
|
10
|
-
return parseInt(value);
|
|
11
|
-
}
|
|
12
|
-
const defaultTimeout = 3000;
|
|
13
|
-
export function configureMitataExpiry(mitigationType, expirySeconds) {
|
|
14
|
-
if (expirySeconds === undefined) {
|
|
15
|
-
return mitigationType === NetaceaMitigationType.INGEST ? ONE_HOUR_IN_SECONDS : 60;
|
|
16
|
-
}
|
|
17
|
-
return expirySeconds;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAA;AAEnC,MAAM,UAAU,cAAc,CAAE,OAAe;IAC7C,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAE,KAAsB,EAAE,eAAuB,CAAC;IAC5E,IAAI,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC,KAAe,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B,MAAM,UAAU,qBAAqB,CACnC,cAAqC,EACrC,aAAiC;IAEjC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,cAAc,KAAK,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAA;IACnF,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC"}
|