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
TypeScript
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