shhzhang
3d42aab16d
[Security] Dynamic Email Verification & Password Reset Links
...
**Problem**
1. **Static Signature Vulnerability**:
- Email verification links used a static signature algorithm (same link for lifetime), allowing account hijacking if links were leaked.
- *Worst-case scenario*: Compromised AppKey + leaked link → full-site account under danger.
2. **Overly Long Reset Window**:
- Password reset links remained valid for 1 hour, enabling attackers to hijack accounts if intercepted.
- *Worst-case scenario*: Compromised AppKey + leaked link → full-site account account take over.
**Solution**
- **Email Verification**:
- Replaced static signatures with **HMAC-SHA256 + timestamp + nonce**.
- Links are now **one-time-use** and expire immediately after verification.
- **Password Reset**:
- Reduced validity window from 1h → **5 minutes**.
- Added rate limiting to prevent brute-force attacks.
**Impact**
- **Closed Communities**: Critical for real-name systems (e.g., gaming, enterprise).
- **AppKey Leak Mitigation**: Even with leaked AppKey, intercepted links are now useless.
The commit message is translated by Deepseek due to my poor English.
2026-01-24 23:16:39 +08:00
Steven Qiu
24ad29ea99
style: apply php-cs-fixer fixes
2025-06-26 21:16:56 +08:00
Pig Fang
7e04f72292
support dark mode UI
2021-06-06 14:27:21 +08:00
Pig Fang
6226784b10
apply php-cs-fixer fixes
2021-05-04 18:17:45 +08:00
Asnxthaony
387fe81a60
feat: OAuth scope ( #287 )
...
Co-authored-by: Pig Fang <g-plane@hotmail.com>
2021-04-18 15:31:57 +08:00
Pig Fang
eae6ff887c
remove "tymon/jwt-auth" package
2021-01-30 16:43:14 +08:00
Pig Fang
311b0690fc
upgrade Laravel to 8
2020-10-14 11:56:34 +08:00
Pig Fang
9c5945235c
update type definition
2020-06-28 16:14:56 +08:00
Pig Fang
2fb67537df
optimize querying reports
2020-06-08 09:51:35 +08:00
Pig Fang
b9a40af92d
add more fillable fields on models
2020-06-06 15:48:43 +08:00
Pig Fang
3841459bcf
remove EncryptUserPassword event
2020-06-03 17:08:22 +08:00
Pig Fang
291efe730f
rewrite reports management page with React
2020-05-15 11:05:04 +08:00
Pig Fang
94642a7cd7
tweak
2020-05-14 09:30:20 +08:00
Pig Fang
3e1a10a461
rewrite users management page with React
2020-05-13 18:12:01 +08:00
Pig Fang
370311db54
simplify
2020-05-11 11:17:00 +08:00
Pig Fang
af351d211b
rewrite players management page with React
2020-04-30 18:47:37 +08:00
Pig Fang
00eaa15cf2
add PHPDoc
2020-04-19 19:36:39 +08:00
Pig Fang
c219a0f03f
rewrite skin library with React
2020-03-24 18:05:46 +08:00
Pig Fang
dcd48a086c
fix notifying failed plugin
2020-03-10 15:12:03 +08:00
Pig Fang
0eb7d50d1c
upgrade to Laravel 7
2020-03-09 12:29:00 +08:00
Pig Fang
780b6800ba
remove unused code
2020-01-13 08:57:51 +08:00
Pig Fang
1829f1dab5
App\Services\Rejection -> Blessing\Rejection
2019-12-31 18:41:16 +08:00
Pig Fang
5b2d2743a6
remove unused code
2019-12-31 11:27:51 +08:00
Pig Fang
e97d2743fb
Clean up
2019-12-30 23:51:12 +08:00
Pig Fang
611f6c8cee
Remove Universal Skin API from core
2019-12-30 23:29:44 +08:00
Pig Fang
22128d360c
Remove deprecated player_name attribute on player instance
2019-12-30 17:04:19 +08:00
Pig Fang
6ead313999
Apply php-cs-fixer
2019-12-14 11:10:37 +08:00
Pig Fang
4af30bdbac
Fix changing password
2019-12-13 10:56:16 +08:00
Pig Fang
c5829ded76
CircleCI -> GitHub Actions
2019-12-03 11:40:06 +08:00
Pig Fang
98522a5cce
Apply fixes from StyleCI ( #96 )
...
[ci skip] [skip ci]
2019-09-07 11:00:35 +08:00
Pig Fang
63ac1c11dd
Revert
2019-08-24 10:22:26 +08:00
Pig Fang
372c7768d0
Apply fixes from StyleCI ( #93 )
...
[ci skip] [skip ci]
2019-08-15 23:27:29 +08:00
Pig Fang
eae0c07ff6
Simplify code
2019-08-08 15:37:38 +08:00
Pig Fang
dcf7300499
Perform type cast before returning value
2019-08-08 15:23:37 +08:00
Pig Fang
9209febd96
Don't convert remember_token field
2019-08-08 14:31:03 +08:00
Pig Fang
d9262c055c
Convert SQL query of user model
...
Automatically, for data integration.
2019-08-08 11:55:22 +08:00
Pig Fang
2731225f4e
Fix comment
2019-07-30 15:17:18 +08:00
Pig Fang
3f4837bb35
Refactor user model
2019-07-30 15:12:31 +08:00
Pig Fang
67bcfc65a5
Refactor user model
2019-07-30 14:29:02 +08:00
Pig Fang
7a7cc2ddd9
Notifications
2019-07-03 16:19:13 +08:00
Pig Fang
a4c9736dfa
Refactor deleting texture
2019-05-07 15:16:53 +08:00
Pig Fang
b119a8de6d
Regress likes field of textures table
2019-05-05 11:21:37 +08:00
Pig Fang
7224b32c8f
Add more tests
2019-04-27 23:20:42 +08:00
Pig Fang
e2c125648f
Support OAuth2
2019-04-25 23:24:24 +08:00
Pig Fang
64f25ef95f
Reset invalid texture when player retrieved
2019-04-23 23:34:04 +08:00
Pig Fang
6507f2699f
Support JWT authentication
2019-04-23 10:05:58 +08:00
Pig Fang
8eb174a6dc
Apply fixes from StyleCI ( #35 )
2019-04-19 19:36:36 +08:00
Pig Fang
53b305393c
Remove unused model scope
2019-04-07 23:03:00 +08:00
Pig Fang
3b55adc445
Rename variables
2019-04-03 10:12:51 +08:00
Pig Fang
b8b8a8493c
Add getter for compat
2019-03-31 23:55:07 +08:00