File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed
Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -141,24 +141,24 @@ Anonymous responses are intentionally allowed (see RLS policy comments), but **u
141141 - Trade-off: Eliminates anonymous participation
142142
1431432 . ** Client-Side Session Tracking** (weak mitigation)
144- ``` typescript
144+ ``` typescript
145145 // Store in sessionStorage after submission
146146 sessionStorage .setItem (` poll-${pollId }-submitted ` , ' true' );
147147 // Check before allowing submission
148148 if (sessionStorage .getItem (` poll-${pollId }-submitted ` )) {
149149 // Show "already submitted" message
150150 }
151- ```
151+ ```
152152 - ⚠️ Easily bypassed (incognito mode, clearing storage)
153153
1541543 . ** Add Anonymous Session Identifier** (requires schema change)
155- ``` sql
155+ ``` sql
156156 ALTER TABLE live_poll_responses
157157 ADD COLUMN anonymous_session_id UUID;
158158
159159 CREATE UNIQUE INDEX live_poll_responses_anonymous_unique
160160 ON live_poll_responses (live_poll_id, COALESCE(public_profile_id, anonymous_session_id));
161- ```
161+ ```
162162 - Generate session ID client-side and store in sessionStorage
163163 - More robust than option 2 but still bypassable
164164
You can’t perform that action at this time.
0 commit comments