Toggle navigation
Toggle navigation
This project
Loading...
Sign in
万朱浩
/
Venue-Ops
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
戒酒的李白
2025-04-02 20:11:19 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
307547196ae57f4cf6bef1bd3361ebf52ea1e423
30754719
1 parent
fd4b918b
Enhance HTTPS redirection using Flask url_for.
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
4 deletions
middleware/security.py
middleware/security.py
View file @
3075471
from
flask
import
request
,
redirect
from
flask
import
request
,
redirect
,
url_for
from
functools
import
wraps
import
bleach
from
utils.logger
import
app_logger
as
logging
...
...
@@ -23,9 +23,18 @@ def require_https():
def
decorator
(
f
):
@wraps
(
f
)
def
decorated_function
(
*
args
,
**
kwargs
):
if
not
request
.
is_secure
and
not
request
.
is_localhost
:
url
=
request
.
url
.
replace
(
'http://'
,
'https://'
,
1
)
return
redirect
(
url
,
code
=
301
)
if
not
request
.
is_secure
and
not
getattr
(
request
,
'is_localhost'
,
False
):
# 使用 _external=True 和 _scheme='https' 生成完整的 HTTPS URL
secure_url
=
url_for
(
request
.
endpoint
,
_external
=
True
,
_scheme
=
'https'
,
**
request
.
view_args
)
# 添加查询参数
if
request
.
query_string
:
secure_url
=
f
"{secure_url}?{request.query_string.decode('utf-8')}"
return
redirect
(
secure_url
,
code
=
301
)
return
f
(
*
args
,
**
kwargs
)
return
decorated_function
return
decorator
...
...
Please
register
or
login
to post a comment