Priority: 馃煛 MEDIUM
Description:
The exam timer is client-side only, which means students can manipulate the timer by pausing JavaScript, editing browser storage, or using dev tools.
Security Risk:
Students could extend exam time by:
- Pausing browser execution
- Editing localStorage
- Using browser dev tools
- Refreshing the page
Proposed Solution:
- Create
exam_sessions table
- Record start time on server when student begins exam
- Validate submission time server-side
- Reject submissions after deadline
API Changes Needed:
POST /api/exams/start - Record exam start time
POST /api/exams/submit - Validate time before accepting
Action Items:
See GITHUB_ISSUES.md for database schema and implementation details.
Priority: 馃煛 MEDIUM
Description:
The exam timer is client-side only, which means students can manipulate the timer by pausing JavaScript, editing browser storage, or using dev tools.
Security Risk:
Students could extend exam time by:
Proposed Solution:
exam_sessionstableAPI Changes Needed:
POST /api/exams/start- Record exam start timePOST /api/exams/submit- Validate time before acceptingAction Items:
exam_sessionstable in database/api/exams/startendpointSee
GITHUB_ISSUES.mdfor database schema and implementation details.