세션·로그인 제한, ZIP/업로드 스트리밍, CSP 최소 강제와 Report-Only, Playwright 격리 검증을 추가하고 미디어 목록을 reconcile 후 database 모드로 고정한다. Co-authored-by: Cursor <cursoragent@cursor.com>
23 lines
699 B
SQL
23 lines
699 B
SQL
CREATE TABLE IF NOT EXISTS csp_violation_aggregates (
|
|
policy_version TEXT NOT NULL,
|
|
document_path TEXT NOT NULL,
|
|
effective_directive TEXT NOT NULL,
|
|
blocked_origin TEXT NOT NULL,
|
|
user_agent_family TEXT NOT NULL,
|
|
violation_count BIGINT NOT NULL DEFAULT 1,
|
|
first_seen_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
last_seen_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
PRIMARY KEY (
|
|
policy_version,
|
|
document_path,
|
|
effective_directive,
|
|
blocked_origin,
|
|
user_agent_family
|
|
),
|
|
CONSTRAINT csp_violation_aggregates_count_check
|
|
CHECK (violation_count > 0)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS csp_violation_aggregates_last_seen_idx
|
|
ON csp_violation_aggregates (last_seen_at DESC);
|