Commit Graph

11 Commits (Bug197-Zayid-V2)

Author SHA1 Message Date
SayidCali jamac a01f30c887 Implement email password recovery feature for LRR system
Features implemented:
- Email-based password recovery using 163.com SMTP (no VPN required)
- Secure token-based password reset with 10-minute expiration
- Improved UX with success messages in green styling
- Automatic redirect to login page after successful password reset
- Comprehensive security measures (CSRF protection, SQL injection prevention)

Technical changes:
- Added password_reset_tokens table to database schema
- Updated Script.php with password recovery logic
- Enhanced index.php and recover_password.php with success message styling
- Migrated from Gmail SMTP to 163.com SMTP for better reliability

Testing:
- All teacher-provided tests: 12/12 passed (141.63s)
- Email password recovery tests: 2/2 passed (22.55s)
- Total success rate: 100%

Security features:
- Time-limited tokens (10-minute expiration)
- Secure token generation using bin2hex(random_bytes(32))
- Foreign key constraints for data integrity
- Rate limiting considerations

Fixes: Bug #197 - Password recovery functionality
2025-05-25 06:16:14 +08:00
Lan Hui 21918cf883 Extend assignment due date so that it can pass my tests 2025-02-22 10:08:41 +08:00
Lan Hui bc77fa1aa4 Update starter DB data so that the course_sutdents_table contains duplicate student-course info. 2024-10-26 09:38:44 +08:00
Lan Hui 0f42a68461 Fix bug 558 2024-10-06 09:39:58 +08:00
Lan Hui 5cef5875f6 Add one new regression test: test_lecturer_can_mark_assignment 2024-10-01 11:51:36 +08:00
Lan Hui 5e1cfcbbcc Add 2 new regression tests: test_student_can_submit_assignment & test_student_can_request_remarking 2024-09-30 16:16:03 +08:00
Lan Hui 44aa38be76 Add a new regression test: test_student_can_join_course 2024-09-28 09:46:52 +08:00
Lan Hui debd85e74d Add two new regression tests: test_student_with_valid_student_number_can_sign_up, test_student_with_invalid_student_number_cannot_sign_up 2024-09-27 10:16:01 +08:00
Lan Hui a34ab61916 Add a new regression test 2024-09-24 09:09:54 +08:00
Lan Hui 5b72461eda Make the password work 2024-05-02 20:45:06 +08:00
Lan Hui 047f0263b2 Use more SQL statements for making the database. 2021-10-20 08:49:36 +08:00