Signed payment links, hashed refresh tokens, login-only leaderboard, load test tools
- /api/payment/orders/{id}/pay requires the short-lived signature that paymentUrl carries;
without it (or with another order's) it is the same 404 as an unknown order
- Session.refresh_token stores the SHA-256 of the token; migration accounts.0007 hashes the
existing rows so tokens clients already hold keep working
- /api/leaderboard requires a token (guests have one); names of children were scrapable
- RAG mock only for `manage.py test`, not any command with an argument named "test"
- tools/loadtest: user factory, load generator, fake GapGPT+Qdrant, with method notes
- security-before-production.md lists only open items; closed ones become a guards table
with the tests that hold them. Comments describe current behaviour, not history
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,11 +6,10 @@ requests==2.33.1
|
||||
redis==5.2.1
|
||||
python-dotenv==1.2.2
|
||||
whitenoise==6.11.0
|
||||
# همان نسخهای که سرور با آن اجرا میشود (یونیتِ systemd آن را از venv صدا میزند). تا
|
||||
# ۲۰۲۶-۱۰-۰۴ در این فایل نبود و فقط دستی روی سرور نصب شده بود.
|
||||
# سرور با همین اجرا میشود (یونیتِ systemd آن را از venv صدا میزند؛ تنظیمات در gunicorn.conf.py).
|
||||
gunicorn==26.2.0
|
||||
# وابستگیِ غیرمستقیمِ requests و qdrant-client. ۲.۷.۰ سه آسیبپذیریِ شناختهشده داشت
|
||||
# (GHSA-8988-9cw3-xx77، GHSA-vxq7-64xx-v4gw، GHSA-gh4c-6fx4-qh6g؛ OSV، ۲۰۲۶-۱۰-۰۴).
|
||||
# وابستگیِ غیرمستقیمِ requests و qdrant-client؛ نسخههای پایینتر آسیبپذیریِ شناختهشده دارند
|
||||
# (GHSA-8988-9cw3-xx77، GHSA-vxq7-64xx-v4gw، GHSA-gh4c-6fx4-qh6g).
|
||||
urllib3>=2.8.0
|
||||
|
||||
# RAG / AI tutor (اپ rag). کلاینتها lazy import میشن؛ نبودِ اینها فقط
|
||||
|
||||
Reference in New Issue
Block a user