feat: 更新IP地址记录逻辑以支持代理头
- 修改结果处理逻辑以获取真实IP地址,考虑代理头的影响 - 更新RawResponse模型中的ip_address字段以保存用户的真实IP
This commit is contained in:
parent
ff44ce6264
commit
e08909eacd
6
app.py
6
app.py
@ -84,10 +84,14 @@ async def result(request: Request, scale_id: str, db: Session = Depends(get_db))
|
|||||||
scale = scales.get(scale_id)
|
scale = scales.get(scale_id)
|
||||||
if scale:
|
if scale:
|
||||||
# Save response to database
|
# Save response to database
|
||||||
|
# Get real IP address considering proxy headers
|
||||||
|
ip = request.headers.get("X-Forwarded-For", "").split(",")[0].strip() or \
|
||||||
|
request.headers.get("X-Real-IP", "") or \
|
||||||
|
request.client.host
|
||||||
db_response = RawResponse(
|
db_response = RawResponse(
|
||||||
scale_id=scale_id,
|
scale_id=scale_id,
|
||||||
user_agent=request.headers.get("user-agent", "Unknown"),
|
user_agent=request.headers.get("user-agent", "Unknown"),
|
||||||
ip_address=request.client.host,
|
ip_address=ip,
|
||||||
response=dict(form_data)
|
response=dict(form_data)
|
||||||
)
|
)
|
||||||
db.add(db_response)
|
db.add(db_response)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user