Skip to content

Commit 587f5b6

Browse files
committed
Revert "fix: validate and replace hostname with resolved IP in request URL"
This reverts commit 2344623.
1 parent 2344623 commit 587f5b6

1 file changed

Lines changed: 8 additions & 16 deletions

File tree

apps/oss/serializers/file.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -176,22 +176,14 @@ class SafeHTTPAdapter(HTTPAdapter):
176176
"""
177177

178178
def send(self, request, **kwargs):
179-
parsed = urlparse(request.url)
180-
host = parsed.hostname
181-
port = parsed.port or (443 if parsed.scheme == 'https' else 80)
182-
183-
# Resolve ONCE
184-
addr_infos = socket.getaddrinfo(host, port, socket.AF_INET, socket.SOCK_STREAM)
185-
validated_ip = None
186-
for info in addr_infos:
187-
ip = info[4][0]
188-
if self._is_unsafe_ip(ip):
189-
raise ValueError(f"Blocked: {ip}")
190-
validated_ip = ip
191-
192-
# PIN: replace hostname with validated IP in the URL
193-
request.url = request.url.replace(f"//{host}", f"//{validated_ip}", 1)
194-
request.headers['Host'] = host # Preserve Host header for virtual hosting
179+
# 解析 URL 获取主机名
180+
parsed_url = urlparse(request.url)
181+
host = parsed_url.hostname
182+
183+
if host:
184+
# 验证目标 IP 是否安全
185+
self._validate_host_ip(host)
186+
195187
return super().send(request, **kwargs)
196188

197189
def _validate_host_ip(self, host: str):

0 commit comments

Comments
 (0)