2 回答

TA貢獻1829條經驗 獲得超4個贊
您的存儲桶策略是這樣說的:
任何AWS 憑證
可以進行任何S3 API 調用
但僅限于
img
和audio
目錄中的對象
這意味著我可以使用我的AWS 憑證讀取、上傳和刪除該存儲桶中的對象。它會類似地解釋為什么對象已被外部各方上傳/修改。
如果您的目的是使對象公開可讀,則應使用s3:GetObject
:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"PublicRead",
"Effect":"Allow",
"Principal": "*",
"Action":"s3:GetObject",
"Resource":[
"arn:aws:s3:::examplebucket/audio/*",
"arn:aws:s3:::examplebucket/img/*",
]
}
]
}

TA貢獻1946條經驗 獲得超3個贊
detectByFilename
是檢查 MIME 類型的最糟糕的方法。
/home/test/myfile.html.jpg
會返回 jpg,即使它不是合法的 jpg 文件。相反,您應該使用\finfo(FILEINFO_MIME)
并讀取文件流來獲取 MIME 類型。
不過,這是否會帶來重大問題,取決于您在上傳圖像后如何嵌入圖像。如果您將原始文件數據嵌入到您的頁面中,這將使您容易受到 CSRF 攻擊。
- 2 回答
- 0 關注
- 98 瀏覽
添加回答
舉報