Skip to content
This repository was archived by the owner on Nov 19, 2025. It is now read-only.

Commit 46fb404

Browse files
committed
update
1 parent cf06f9e commit 46fb404

2 files changed

Lines changed: 8 additions & 14 deletions

File tree

SERVER.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ All endpoints require appropriate authentication (API key or JWT where specified
185185

186186
```bash
187187
# Install core security dependencies
188-
pip install -r requirements_backend.txt
188+
pip install -r requirements.txt
189189

190190
```
191191

@@ -212,12 +212,15 @@ RATE_LIMIT_WINDOW=60
212212
### Note
213213

214214
- **In password field do not put your gmail password. It must be app password more information [here](https://www.hostpapa.com/knowledgebase/how-to-create-and-use-google-app-passwords/)**
215-
- **Highly recommend using [ngrok](https://ngrok.com/) for tunneling
215+
- **Highly recommend using [ngrok](https://ngrok.com/) for tunneling**
216216

217217
### 3. Start the server
218218

219219
```bash
220+
# Hot reload start
220221
uvicorn server:app --host 0.0.0.0 --port 8000 --reload
222+
# Normal start
223+
uvicorn server:app --host 0.0.0.0 --port 8000
221224

222225
# Or optionally you can run it using
223226
python server.py

server.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@
9595
email = os.getenv("EMAIL")
9696
password = os.getenv("PASSWORD")
9797

98-
# Email functions moved from Emails.py
9998
def send_verification_email(to_email, verification_code):
10099
"""
101100
Sends a verification email to the user.
@@ -140,9 +139,7 @@ def send_reset_password_email(to_email, reset_token, base_url=os.getenv("BASE_UR
140139
print(f"[DEBUG] Preparing to send password reset email to {to_email}")
141140
if email and password:
142141
subject = "Password Reset Request"
143-
144-
# Tworzymy link do resetowania hasła
145-
# Używamy web URL z tokenem - użytkownik skopiuje token
142+
146143
reset_link = f"{base_url}/reset-password?token={reset_token}"
147144

148145
body = f"""
@@ -152,7 +149,7 @@ def send_reset_password_email(to_email, reset_token, base_url=os.getenv("BASE_UR
152149
153150
To reset your password, please follow these steps:
154151
155-
1. Open your ServApp mobile application
152+
1. Open your Skysync application
156153
2. Go to "Forgot Password" page
157154
3. Enter the following reset token:
158155
{reset_token}
@@ -314,13 +311,11 @@ async def add_security_headers(request: Request, call_next):
314311
response.headers["Cross-Origin-Opener-Policy"] = "same-origin"
315312
response.headers["Cross-Origin-Resource-Policy"] = "same-origin"
316313

317-
# Remove server information
318314
if "Server" in response.headers:
319315
del response.headers["Server"]
320316

321317
return response
322318

323-
# Enhanced rate limiting middleware
324319
@app.middleware("http")
325320
async def rate_limit_middleware(request: Request, call_next):
326321
client_ip = get_real_ip(request)
@@ -343,13 +338,11 @@ async def rate_limit_middleware(request: Request, call_next):
343338
)
344339
else:
345340
del blocked_ips[client_ip]
346-
347-
# Enhanced rate limiting for sensitive endpoints
341+
348342
sensitive_endpoints = ["/login", "/create_user", "/reset_password", "/upload_file"]
349343
if request.url.path in sensitive_endpoints:
350344
current_time = datetime.now()
351345
if client_ip in login_attempts:
352-
# Remove old attempts
353346
login_attempts[client_ip] = [
354347
attempt for attempt in login_attempts[client_ip]
355348
if current_time - attempt < timedelta(minutes=1)
@@ -376,7 +369,6 @@ async def rate_limit_middleware(request: Request, call_next):
376369
response = await call_next(request)
377370
return response
378371

379-
# Enhanced Web Application Firewall (WAF) middleware
380372
@app.middleware("http")
381373
async def waf_middleware(request: Request, call_next):
382374
"""
@@ -475,7 +467,6 @@ async def waf_middleware(request: Request, call_next):
475467
"/security/status"
476468
]
477469

478-
# Skip WAF check for legitimate API endpoints
479470
if url_path in legitimate_endpoints:
480471
response = await call_next(request)
481472
return response

0 commit comments

Comments
 (0)