mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-01-11 02:15:17 +00:00
[Security] Fix potential XSS on /view (#6034)
This commit is contained in:
parent
563291ee51
commit
59d58b1158
16
server.py
16
server.py
@ -460,7 +460,21 @@ class PromptServer():
|
|||||||
return web.Response(body=alpha_buffer.read(), content_type='image/png',
|
return web.Response(body=alpha_buffer.read(), content_type='image/png',
|
||||||
headers={"Content-Disposition": f"filename=\"{filename}\""})
|
headers={"Content-Disposition": f"filename=\"{filename}\""})
|
||||||
else:
|
else:
|
||||||
return web.FileResponse(file, headers={"Content-Disposition": f"filename=\"{filename}\""})
|
# Get content type from mimetype, defaulting to 'application/octet-stream'
|
||||||
|
content_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream'
|
||||||
|
|
||||||
|
# For security, force certain extensions to download instead of display
|
||||||
|
file_extension = os.path.splitext(filename)[1].lower()
|
||||||
|
if file_extension in {'.html', '.htm', '.js', '.css'}:
|
||||||
|
content_type = 'application/octet-stream' # Forces download
|
||||||
|
|
||||||
|
return web.FileResponse(
|
||||||
|
file,
|
||||||
|
headers={
|
||||||
|
"Content-Disposition": f"filename=\"{filename}\"",
|
||||||
|
"Content-Type": content_type
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
return web.Response(status=404)
|
return web.Response(status=404)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user