xypriss 3.1.0 → 3.2.0
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/cjs/src/middleware/XyPrissMiddlewareAPI.js +3 -2
- package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -1
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +16 -23
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/cjs/src/middleware/built-in/security/MobileOnlyProtector.js +504 -0
- package/dist/cjs/src/middleware/built-in/security/MobileOnlyProtector.js.map +1 -0
- package/dist/cjs/src/middleware/security-middleware.js +114 -19
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +5 -0
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +3 -2
- package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -1
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +16 -23
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/esm/src/middleware/built-in/security/MobileOnlyProtector.js +502 -0
- package/dist/esm/src/middleware/built-in/security/MobileOnlyProtector.js.map +1 -0
- package/dist/esm/src/middleware/security-middleware.js +114 -19
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/server/const/default.js +5 -0
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/index.d.ts +158 -4
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ import CommandInjectionDetector from './built-in/security/CommandInjectionDetect
|
|
|
5
5
|
import XXEProtector from './built-in/security/XXEProtector.js';
|
|
6
6
|
import LDAPInjectionDetector from './built-in/security/LDAPInjectionDetector.js';
|
|
7
7
|
import { Logger } from '../../shared/logger/Logger.js';
|
|
8
|
+
import { MobileOnlyProtector } from './built-in/security/MobileOnlyProtector.js';
|
|
8
9
|
import { BuiltInMiddleware } from './built-in/BuiltInMiddleware.js';
|
|
9
10
|
import xss from 'xss';
|
|
10
11
|
|
|
@@ -51,6 +52,11 @@ class SecurityMiddleware {
|
|
|
51
52
|
config.bruteForce !== false ? config.bruteForce || true : false;
|
|
52
53
|
this.rateLimit =
|
|
53
54
|
config.rateLimit !== false ? config.rateLimit || true : false;
|
|
55
|
+
// If rateLimit is explicitly configured as an object, disable bruteForce to avoid conflicts
|
|
56
|
+
if (typeof config.rateLimit === "object" && config.rateLimit !== null) {
|
|
57
|
+
this.bruteForce = false;
|
|
58
|
+
this.logger.debug("security", "Brute force protection disabled because rateLimit is explicitly configured");
|
|
59
|
+
}
|
|
54
60
|
this.cors = config.cors !== false ? config.cors || true : false;
|
|
55
61
|
this.compression =
|
|
56
62
|
config.compression !== false ? config.compression || true : false;
|
|
@@ -72,13 +78,16 @@ class SecurityMiddleware {
|
|
|
72
78
|
config.requestSignature !== false
|
|
73
79
|
? config.requestSignature || false
|
|
74
80
|
: false;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
this.mobileOnly = config.mobileOnly !== false ? config.mobileOnly || false : false;
|
|
82
|
+
this.deviceAccess = config.deviceAccess;
|
|
83
|
+
// If deviceAccess is provided, override individual settings
|
|
84
|
+
if (this.deviceAccess) {
|
|
85
|
+
this.browserOnly = this.deviceAccess.browserOnly || false;
|
|
86
|
+
this.terminalOnly = this.deviceAccess.terminalOnly || false;
|
|
87
|
+
this.mobileOnly = this.deviceAccess.mobileOnly || false;
|
|
88
|
+
}
|
|
89
|
+
// Validate device access configuration
|
|
90
|
+
this.validateDeviceAccessConfig();
|
|
82
91
|
this.encryption = {
|
|
83
92
|
algorithm: "AES-256-GCM",
|
|
84
93
|
keySize: 32,
|
|
@@ -266,10 +275,7 @@ class SecurityMiddleware {
|
|
|
266
275
|
this.rateLimitMiddleware = BuiltInMiddleware.rateLimit({
|
|
267
276
|
windowMs: rateLimitConfig.windowMs || 15 * 60 * 1000, // 15 minutes
|
|
268
277
|
max: maxRequests,
|
|
269
|
-
message: rateLimitConfig.message
|
|
270
|
-
error: "Too many requests, please try again later.",
|
|
271
|
-
retryAfter: "15 minutes",
|
|
272
|
-
},
|
|
278
|
+
message: rateLimitConfig.message, // BuiltInMiddleware will handle format conversion
|
|
273
279
|
standardHeaders: rateLimitConfig.standardHeaders !== false,
|
|
274
280
|
legacyHeaders: false,
|
|
275
281
|
skip: (req) => {
|
|
@@ -280,7 +286,7 @@ class SecurityMiddleware {
|
|
|
280
286
|
req.path.startsWith("/assets/"));
|
|
281
287
|
},
|
|
282
288
|
});
|
|
283
|
-
this.logger.debug("security", `General rate limiting initialized with max: ${maxRequests} requests`);
|
|
289
|
+
this.logger.debug("security", `General rate limiting initialized with max: ${maxRequests} requests per ${Math.ceil((rateLimitConfig.windowMs || 15 * 60 * 1000) / 1000)}s window`);
|
|
284
290
|
}
|
|
285
291
|
// CSRF protection using BuiltInMiddleware
|
|
286
292
|
if (this.csrf) {
|
|
@@ -311,6 +317,14 @@ class SecurityMiddleware {
|
|
|
311
317
|
this.terminalOnlyMiddleware =
|
|
312
318
|
BuiltInMiddleware.terminalOnly(terminalOnlyConfig);
|
|
313
319
|
}
|
|
320
|
+
// Mobile-only protection
|
|
321
|
+
if (this.isMobileOnlyEnabled()) {
|
|
322
|
+
const mobileOnlyConfig = typeof this.mobileOnly === "object" ? this.mobileOnly : {};
|
|
323
|
+
this.mobileOnlyMiddleware =
|
|
324
|
+
BuiltInMiddleware.mobileOnly(mobileOnlyConfig);
|
|
325
|
+
// Also create the protector instance for mobile detection
|
|
326
|
+
this.mobileOnlyProtector = new MobileOnlyProtector(mobileOnlyConfig, this.logger);
|
|
327
|
+
}
|
|
314
328
|
// Request signature protection (API authentication)
|
|
315
329
|
if (this.requestSignature) {
|
|
316
330
|
const requestSignatureConfig = typeof this.requestSignature === "object" &&
|
|
@@ -391,16 +405,24 @@ class SecurityMiddleware {
|
|
|
391
405
|
const middlewareStack = [];
|
|
392
406
|
// 🚨 CRITICAL: Access control middlewares FIRST (before any other processing)
|
|
393
407
|
// These must run before route resolution to block unwanted requests
|
|
394
|
-
//
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
if (this.isTerminalOnlyEnabled() && this.terminalOnlyMiddleware) {
|
|
408
|
+
// Handle device access controls
|
|
409
|
+
const browserEnabled = this.isBrowserOnlyEnabled();
|
|
410
|
+
const terminalEnabled = this.isTerminalOnlyEnabled();
|
|
411
|
+
const mobileEnabled = this.isMobileOnlyEnabled();
|
|
412
|
+
// 1. Terminal-only protection (blocks browser requests) - cannot be combined with others
|
|
413
|
+
if (terminalEnabled && this.terminalOnlyMiddleware) {
|
|
401
414
|
this.logger.debug("security", "Adding terminal-only middleware (FIRST)");
|
|
402
415
|
middlewareStack.push(this.terminalOnlyMiddleware);
|
|
403
416
|
}
|
|
417
|
+
// 2. Browser-only and/or mobile-only protection
|
|
418
|
+
else if (browserEnabled || mobileEnabled) {
|
|
419
|
+
// Create combined middleware for browser and mobile access control
|
|
420
|
+
const combinedDeviceMiddleware = this.createCombinedDeviceMiddleware(browserEnabled, mobileEnabled);
|
|
421
|
+
if (combinedDeviceMiddleware) {
|
|
422
|
+
this.logger.debug("security", `Adding combined device middleware (browser: ${browserEnabled}, mobile: ${mobileEnabled})`);
|
|
423
|
+
middlewareStack.push(combinedDeviceMiddleware);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
404
426
|
// 3. Request signature protection (API authentication)
|
|
405
427
|
if (this.requestSignature && this.requestSignatureMiddleware) {
|
|
406
428
|
this.logger.debug("security", "Adding request signature middleware (FIRST)");
|
|
@@ -776,6 +798,77 @@ class SecurityMiddleware {
|
|
|
776
798
|
}
|
|
777
799
|
return false;
|
|
778
800
|
}
|
|
801
|
+
/**
|
|
802
|
+
* Check if mobile-only protection is enabled
|
|
803
|
+
*/
|
|
804
|
+
isMobileOnlyEnabled() {
|
|
805
|
+
if (this.mobileOnly === true)
|
|
806
|
+
return true;
|
|
807
|
+
if (typeof this.mobileOnly === "object" && this.mobileOnly !== null) {
|
|
808
|
+
return this.mobileOnly.enable !== false; // Check enable property, default to true when config provided
|
|
809
|
+
}
|
|
810
|
+
return false;
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* Validate device access configuration
|
|
814
|
+
*/
|
|
815
|
+
validateDeviceAccessConfig() {
|
|
816
|
+
// Check enabled device access controls
|
|
817
|
+
const browserEnabled = this.isBrowserOnlyEnabled();
|
|
818
|
+
const terminalEnabled = this.isTerminalOnlyEnabled();
|
|
819
|
+
const mobileEnabled = this.isMobileOnlyEnabled();
|
|
820
|
+
// Terminal-only cannot be combined with browser-only or mobile-only
|
|
821
|
+
if (terminalEnabled && (browserEnabled || mobileEnabled)) {
|
|
822
|
+
throw new Error("Security configuration error: terminalOnly cannot be enabled simultaneously with browserOnly or mobileOnly. " +
|
|
823
|
+
"Choose terminalOnly alone, or browserOnly and/or mobileOnly.");
|
|
824
|
+
}
|
|
825
|
+
// Browser-only and mobile-only can be enabled together (they will be applied based on request characteristics)
|
|
826
|
+
// No other restrictions needed
|
|
827
|
+
}
|
|
828
|
+
/**
|
|
829
|
+
* Create combined middleware for browser and mobile access control
|
|
830
|
+
*/
|
|
831
|
+
createCombinedDeviceMiddleware(browserEnabled, mobileEnabled) {
|
|
832
|
+
// If neither is enabled, return null
|
|
833
|
+
if (!browserEnabled && !mobileEnabled) {
|
|
834
|
+
return null;
|
|
835
|
+
}
|
|
836
|
+
// If only one is enabled, return that middleware directly
|
|
837
|
+
if (browserEnabled && !mobileEnabled && this.browserOnlyMiddleware) {
|
|
838
|
+
return this.browserOnlyMiddleware;
|
|
839
|
+
}
|
|
840
|
+
if (mobileEnabled && !browserEnabled && this.mobileOnlyMiddleware) {
|
|
841
|
+
return this.mobileOnlyMiddleware;
|
|
842
|
+
}
|
|
843
|
+
// Both are enabled - create combined logic
|
|
844
|
+
if (!this.browserOnlyMiddleware || !this.mobileOnlyMiddleware) {
|
|
845
|
+
return null; // Should not happen if validation passed
|
|
846
|
+
}
|
|
847
|
+
return (req, res, next) => {
|
|
848
|
+
// First check if it's a mobile request
|
|
849
|
+
const isMobileRequest = this.isMobileRequest(req);
|
|
850
|
+
if (isMobileRequest) {
|
|
851
|
+
// Apply mobile-only rules
|
|
852
|
+
this.logger.debug("security", "Applying mobile-only rules for mobile request");
|
|
853
|
+
return this.mobileOnlyMiddleware(req, res, next);
|
|
854
|
+
}
|
|
855
|
+
else {
|
|
856
|
+
// Apply browser-only rules
|
|
857
|
+
this.logger.debug("security", "Applying browser-only rules for non-mobile request");
|
|
858
|
+
return this.browserOnlyMiddleware(req, res, next);
|
|
859
|
+
}
|
|
860
|
+
};
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* Check if request is from a mobile device (using MobileOnlyProtector logic)
|
|
864
|
+
*/
|
|
865
|
+
isMobileRequest(req) {
|
|
866
|
+
if (!this.mobileOnlyProtector) {
|
|
867
|
+
// If no mobile protector, assume not mobile
|
|
868
|
+
return false;
|
|
869
|
+
}
|
|
870
|
+
return this.mobileOnlyProtector.isMobileRequest(req);
|
|
871
|
+
}
|
|
779
872
|
/**
|
|
780
873
|
* Get security configuration
|
|
781
874
|
*/
|
|
@@ -786,6 +879,8 @@ class SecurityMiddleware {
|
|
|
786
879
|
helmet: this.helmet,
|
|
787
880
|
browserOnly: this.browserOnly,
|
|
788
881
|
terminalOnly: this.terminalOnly,
|
|
882
|
+
mobileOnly: this.mobileOnly,
|
|
883
|
+
deviceAccess: this.deviceAccess,
|
|
789
884
|
requestSignature: this.requestSignature,
|
|
790
885
|
xss: this.xss,
|
|
791
886
|
sqlInjection: this.sqlInjection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["XyPrissJS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"security-middleware.js","sources":["../../../../src/middleware/security-middleware.ts"],"sourcesContent":[null],"names":["XyPrissJS"],"mappings":"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"}
|
|
@@ -143,6 +143,11 @@ const DEFAULT_OPTIONS = {
|
|
|
143
143
|
windowMs: 60 * 60 * 1000,
|
|
144
144
|
message: "Too many requests from this IP, please try again later (this is a default message, you can customize it in the config).",
|
|
145
145
|
},
|
|
146
|
+
deviceAccess: {
|
|
147
|
+
terminalOnly: {
|
|
148
|
+
allowedTools: ["curl", "wget", "Postman", "cURL"],
|
|
149
|
+
},
|
|
150
|
+
},
|
|
146
151
|
morgan: false,
|
|
147
152
|
hpp: true,
|
|
148
153
|
mongoSanitize: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1664,6 +1664,51 @@ interface CacheStrategy {
|
|
|
1664
1664
|
tags?: string[];
|
|
1665
1665
|
}
|
|
1666
1666
|
|
|
1667
|
+
/**
|
|
1668
|
+
* Mobile-Only Access Protector
|
|
1669
|
+
* Blocks browser requests and allows only mobile app access.
|
|
1670
|
+
* Multi-layered detection with strict validation to avoid false positives.
|
|
1671
|
+
*
|
|
1672
|
+
* @example Enable with defaults:
|
|
1673
|
+
* ```typescript
|
|
1674
|
+
* mobileOnly: true
|
|
1675
|
+
* ```
|
|
1676
|
+
*
|
|
1677
|
+
* @example Custom configuration:
|
|
1678
|
+
* ```typescript
|
|
1679
|
+
* mobileOnly: {
|
|
1680
|
+
* blockBrowserIndicators: true,
|
|
1681
|
+
* allowedPlatforms: ['ios', 'android'],
|
|
1682
|
+
* requireMobileHeaders: true,
|
|
1683
|
+
* customUserAgentPatterns: [/MyApp/i],
|
|
1684
|
+
* errorMessage: "Mobile app access required"
|
|
1685
|
+
* }
|
|
1686
|
+
* ```
|
|
1687
|
+
*/
|
|
1688
|
+
|
|
1689
|
+
interface MobileOnlyConfig {
|
|
1690
|
+
/** Enable/disable mobile-only protection */
|
|
1691
|
+
enable?: boolean;
|
|
1692
|
+
/** Block requests with browser indicators */
|
|
1693
|
+
blockBrowserIndicators?: boolean;
|
|
1694
|
+
/** Allowed mobile platforms */
|
|
1695
|
+
allowedPlatforms?: ("ios" | "android" | "react-native" | "expo" | "flutter")[];
|
|
1696
|
+
/** Require mobile-specific headers */
|
|
1697
|
+
requireMobileHeaders?: boolean;
|
|
1698
|
+
/** Custom User-Agent patterns to allow */
|
|
1699
|
+
customUserAgentPatterns?: RegExp[];
|
|
1700
|
+
/** Debug logging */
|
|
1701
|
+
debug?: boolean;
|
|
1702
|
+
/** Custom error message */
|
|
1703
|
+
errorMessage?: string;
|
|
1704
|
+
/** HTTP status code for blocked requests */
|
|
1705
|
+
statusCode?: number;
|
|
1706
|
+
/** Case-sensitive User-Agent matching */
|
|
1707
|
+
caseSensitive?: boolean;
|
|
1708
|
+
/** Trim whitespace from User-Agent */
|
|
1709
|
+
trimUserAgent?: boolean;
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1667
1712
|
/**
|
|
1668
1713
|
* Browser-Only Protection Configuration
|
|
1669
1714
|
*
|
|
@@ -2752,6 +2797,67 @@ interface SecurityConfig {
|
|
|
2752
2797
|
* ```
|
|
2753
2798
|
*/
|
|
2754
2799
|
terminalOnly?: boolean | TerminalOnlyConfig;
|
|
2800
|
+
/**
|
|
2801
|
+
* Mobile-Only Protection Configuration
|
|
2802
|
+
*
|
|
2803
|
+
* Blocks browser requests while allowing mobile app access.
|
|
2804
|
+
* Perfect for APIs that should only be accessed through mobile applications.
|
|
2805
|
+
*
|
|
2806
|
+
* @example Enable with defaults:
|
|
2807
|
+
* ```typescript
|
|
2808
|
+
* mobileOnly: true
|
|
2809
|
+
* ```
|
|
2810
|
+
*
|
|
2811
|
+
* @example Custom configuration:
|
|
2812
|
+
* ```typescript
|
|
2813
|
+
* mobileOnly: {
|
|
2814
|
+
* blockBrowserIndicators: true,
|
|
2815
|
+
* allowedPlatforms: ['ios', 'android'],
|
|
2816
|
+
* requireMobileHeaders: true,
|
|
2817
|
+
* customUserAgentPatterns: [/MyApp/i],
|
|
2818
|
+
* errorMessage: "Mobile app access required"
|
|
2819
|
+
* }
|
|
2820
|
+
* ```
|
|
2821
|
+
*/
|
|
2822
|
+
mobileOnly?: boolean | MobileOnlyConfig;
|
|
2823
|
+
/**
|
|
2824
|
+
* Device Access Control Configuration
|
|
2825
|
+
*
|
|
2826
|
+
* Comprehensive device-based access control allowing multiple device types.
|
|
2827
|
+
* Enables fine-grained control over which devices can access your API.
|
|
2828
|
+
*
|
|
2829
|
+
* @example Allow only mobile apps:
|
|
2830
|
+
* ```typescript
|
|
2831
|
+
* deviceAccess: {
|
|
2832
|
+
* mobileOnly: true
|
|
2833
|
+
* }
|
|
2834
|
+
* ```
|
|
2835
|
+
*
|
|
2836
|
+
* @example Allow mobile apps and browsers:
|
|
2837
|
+
* ```typescript
|
|
2838
|
+
* deviceAccess: {
|
|
2839
|
+
* mobileOnly: true,
|
|
2840
|
+
* browserOnly: true
|
|
2841
|
+
* }
|
|
2842
|
+
* ```
|
|
2843
|
+
*
|
|
2844
|
+
* @example Allow all except browsers:
|
|
2845
|
+
* ```typescript
|
|
2846
|
+
* deviceAccess: {
|
|
2847
|
+
* mobileOnly: true,
|
|
2848
|
+
* terminalOnly: true,
|
|
2849
|
+
* browserOnly: false
|
|
2850
|
+
* }
|
|
2851
|
+
* ```
|
|
2852
|
+
*/
|
|
2853
|
+
deviceAccess?: {
|
|
2854
|
+
/** Allow only browser requests */
|
|
2855
|
+
browserOnly?: boolean | BrowserOnlyConfig;
|
|
2856
|
+
/** Allow only terminal/API tool requests */
|
|
2857
|
+
terminalOnly?: boolean | TerminalOnlyConfig;
|
|
2858
|
+
/** Allow only mobile app requests */
|
|
2859
|
+
mobileOnly?: boolean | MobileOnlyConfig;
|
|
2860
|
+
};
|
|
2755
2861
|
/**
|
|
2756
2862
|
* XyRS - XyPriss Request Signature Configuration
|
|
2757
2863
|
*
|
|
@@ -2993,6 +3099,7 @@ interface CORSConfig {
|
|
|
2993
3099
|
*
|
|
2994
3100
|
* @example
|
|
2995
3101
|
* ```typescript
|
|
3102
|
+
* // String message
|
|
2996
3103
|
* const rateLimitConfig: RateLimitConfig = {
|
|
2997
3104
|
* windowMs: 900000, // 15 minutes
|
|
2998
3105
|
* max: 100, // 100 requests per window
|
|
@@ -3000,6 +3107,19 @@ interface CORSConfig {
|
|
|
3000
3107
|
* standardHeaders: true,
|
|
3001
3108
|
* legacyHeaders: false
|
|
3002
3109
|
* };
|
|
3110
|
+
*
|
|
3111
|
+
* // Object message (more flexible)
|
|
3112
|
+
* const rateLimitConfig: RateLimitConfig = {
|
|
3113
|
+
* windowMs: 900000,
|
|
3114
|
+
* max: 100,
|
|
3115
|
+
* message: {
|
|
3116
|
+
* error: 'Rate limit exceeded',
|
|
3117
|
+
* message: 'Too many requests, please try again later',
|
|
3118
|
+
* retryAfter: 900
|
|
3119
|
+
* },
|
|
3120
|
+
* standardHeaders: true,
|
|
3121
|
+
* legacyHeaders: false
|
|
3122
|
+
* };
|
|
3003
3123
|
* ```
|
|
3004
3124
|
*/
|
|
3005
3125
|
interface RateLimitConfig$1 {
|
|
@@ -3007,8 +3127,13 @@ interface RateLimitConfig$1 {
|
|
|
3007
3127
|
windowMs?: number;
|
|
3008
3128
|
/** Maximum requests per window */
|
|
3009
3129
|
max?: number;
|
|
3010
|
-
/** Message to send when limit is exceeded */
|
|
3011
|
-
message?: string
|
|
3130
|
+
/** Message to send when limit is exceeded (string or object) */
|
|
3131
|
+
message?: string | {
|
|
3132
|
+
error?: string;
|
|
3133
|
+
message?: string;
|
|
3134
|
+
retryAfter?: number;
|
|
3135
|
+
[key: string]: any;
|
|
3136
|
+
};
|
|
3012
3137
|
/** Include standard rate limit headers */
|
|
3013
3138
|
standardHeaders?: boolean;
|
|
3014
3139
|
/** Include legacy rate limit headers */
|
|
@@ -4628,6 +4753,12 @@ declare class SecurityMiddleware {
|
|
|
4628
4753
|
slowDown: boolean | SlowDownConfig;
|
|
4629
4754
|
browserOnly: boolean | BrowserOnlyConfig;
|
|
4630
4755
|
terminalOnly: boolean | TerminalOnlyConfig;
|
|
4756
|
+
mobileOnly: boolean | MobileOnlyConfig;
|
|
4757
|
+
deviceAccess?: {
|
|
4758
|
+
browserOnly?: boolean | BrowserOnlyConfig;
|
|
4759
|
+
terminalOnly?: boolean | TerminalOnlyConfig;
|
|
4760
|
+
mobileOnly?: boolean | MobileOnlyConfig;
|
|
4761
|
+
};
|
|
4631
4762
|
requestSignature: boolean | RequestSignatureConfig;
|
|
4632
4763
|
encryption: Required<SecurityConfig>["encryption"];
|
|
4633
4764
|
authentication: Required<SecurityConfig>["authentication"];
|
|
@@ -4639,6 +4770,7 @@ declare class SecurityMiddleware {
|
|
|
4639
4770
|
private csrfMiddleware;
|
|
4640
4771
|
private browserOnlyMiddleware;
|
|
4641
4772
|
private terminalOnlyMiddleware;
|
|
4773
|
+
private mobileOnlyMiddleware;
|
|
4642
4774
|
private requestSignatureMiddleware;
|
|
4643
4775
|
private mongoSanitizeMiddleware;
|
|
4644
4776
|
private hppMiddleware;
|
|
@@ -4652,6 +4784,7 @@ declare class SecurityMiddleware {
|
|
|
4652
4784
|
private ldapInjectionDetector;
|
|
4653
4785
|
private browserOnlyProtector?;
|
|
4654
4786
|
private terminalOnlyProtector?;
|
|
4787
|
+
private mobileOnlyProtector?;
|
|
4655
4788
|
private logger;
|
|
4656
4789
|
constructor(config?: SecurityConfig, logger?: Logger);
|
|
4657
4790
|
/**
|
|
@@ -4696,6 +4829,22 @@ declare class SecurityMiddleware {
|
|
|
4696
4829
|
* Check if terminal-only protection is enabled
|
|
4697
4830
|
*/
|
|
4698
4831
|
private isTerminalOnlyEnabled;
|
|
4832
|
+
/**
|
|
4833
|
+
* Check if mobile-only protection is enabled
|
|
4834
|
+
*/
|
|
4835
|
+
private isMobileOnlyEnabled;
|
|
4836
|
+
/**
|
|
4837
|
+
* Validate device access configuration
|
|
4838
|
+
*/
|
|
4839
|
+
private validateDeviceAccessConfig;
|
|
4840
|
+
/**
|
|
4841
|
+
* Create combined middleware for browser and mobile access control
|
|
4842
|
+
*/
|
|
4843
|
+
private createCombinedDeviceMiddleware;
|
|
4844
|
+
/**
|
|
4845
|
+
* Check if request is from a mobile device (using MobileOnlyProtector logic)
|
|
4846
|
+
*/
|
|
4847
|
+
private isMobileRequest;
|
|
4699
4848
|
/**
|
|
4700
4849
|
* Get security configuration
|
|
4701
4850
|
*/
|
|
@@ -5291,7 +5440,7 @@ interface SecurityMiddlewareConfig {
|
|
|
5291
5440
|
xssFilter?: boolean;
|
|
5292
5441
|
};
|
|
5293
5442
|
cors?: boolean | {
|
|
5294
|
-
origin?: string | string[] | boolean;
|
|
5443
|
+
origin?: string | RegExp | (string | RegExp)[] | boolean;
|
|
5295
5444
|
methods?: string | string[];
|
|
5296
5445
|
allowedHeaders?: string | string[];
|
|
5297
5446
|
exposedHeaders?: string | string[];
|
|
@@ -5303,7 +5452,12 @@ interface SecurityMiddlewareConfig {
|
|
|
5303
5452
|
rateLimit?: boolean | {
|
|
5304
5453
|
windowMs?: number;
|
|
5305
5454
|
max?: number;
|
|
5306
|
-
message?: string
|
|
5455
|
+
message?: string | {
|
|
5456
|
+
error?: string;
|
|
5457
|
+
message?: string;
|
|
5458
|
+
retryAfter?: number;
|
|
5459
|
+
[key: string]: any;
|
|
5460
|
+
};
|
|
5307
5461
|
standardHeaders?: boolean;
|
|
5308
5462
|
legacyHeaders?: boolean;
|
|
5309
5463
|
store?: any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "XyPriss is a lightweight, TypeScript-first, open-source Node.js web framework crafted for developers seeking a familiar Express-like API without Express dependencies. It features built-in security middleware, a robust routing system, and performance optimizations to build scalable, secure web applications effortlessly. Join our community and contribute on GitHub!",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|