UNPKG

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

44 lines 1.57 kB
export interface ContentSecurityOptions { allowedDomains?: string[]; allowDataUrls?: boolean; allowBlobUrls?: boolean; allowRelativeUrls?: boolean; } export declare class ContentSecurity { private options; constructor(options?: ContentSecurityOptions); /** * Validates if a URL is safe according to the security policy * @param url - URL to validate * @returns True if URL is safe, false otherwise */ isSafeUrl(url: string): boolean; /** * Creates a safe URL - returns the URL if safe, or a fallback if not * @param url - URL to check * @param fallback - Fallback URL if unsafe * @returns Safe URL or fallback */ createSafeUrl(url: string, fallback?: string): string; /** * Validates if an image source is safe * @param src - Image source URL * @returns True if image source is safe, false otherwise */ isSafeImageSrc(src: string): boolean; /** * Creates a safe image source - returns the source if safe, or a fallback if not * @param src - Image source to check * @param fallback - Fallback image source if unsafe * @returns Safe image source or fallback */ createSafeImageSrc(src: string, fallback?: string): string; /** * Validates if HTML content is safe * @param html - HTML content to validate * @returns True if HTML content is safe, false otherwise */ isSafeHtml(html: string): boolean; } export declare const contentSecurity: ContentSecurity; //# sourceMappingURL=content-security.d.ts.map