tl-shared-security
Version:
Enterprise-grade security module for frontend and backend applications with comprehensive protection against XSS, CSRF, SQL injection, and other security vulnerabilities
40 lines • 1.38 kB
TypeScript
import { IFilterXSSOptions } from 'xss';
import DOMPurify from 'dompurify';
export interface XssSanitizerOptions extends IFilterXSSOptions {
useDOMPurify?: boolean;
domPurifyConfig?: DOMPurify.Config;
}
export declare class XssSanitizer {
private xssFilter;
private options;
constructor(options?: XssSanitizerOptions);
/**
* Sanitizes a string input against XSS attacks
* @param input - String to sanitize
* @returns Sanitized string
*/
sanitize(input: string): string;
/**
* Sanitizes an object or array recursively
* @param data - Object or array to sanitize
* @returns Sanitized object or array
*/
sanitizeRecursive(data: any): any;
/**
* Sanitizes HTML attributes to prevent JavaScript execution
* @param html - HTML string to sanitize
* @returns Sanitized HTML string
*/
sanitizeHtmlAttributes(html: string): string;
/**
* Sanitizes a URL to prevent JavaScript execution
* @param url - URL to sanitize
* @returns Sanitized URL
*/
sanitizeUrl(url: string): string;
}
export declare const sanitizeInput: (input: string) => string;
export declare const sanitizeRecursive: (data: any) => any;
export declare const sanitizeUrl: (url: string) => string;
export declare const xssSanitizer: XssSanitizer;
//# sourceMappingURL=xssSanitizer.d.ts.map