有什麼方法可以防止在Amazon S3上進行盜鏈而不使用簽名的URL?如何防止在Amazon S3上使用簽名URL進行盜鏈?
回答
通過設置正確的S3存儲桶策略,可以添加引用策略來防止熱鏈接。
http://s3browser.com/working-with-amazon-s3-bucket-policies.php
不是。你可以通過它運行一個EC2實例和代理。
我使用Apache RewriteMap重新映射相關鏈接以選擇文件擴展名 - * .jpg,* .gif,* swf,* .fla到Cloudfront。基本上使您的圖像的網址呈現爲您網站的相對鏈接。它不會阻止完全發現S3/cloudfront網址,只會爲小偷增加一層難度。
值得一試,使用上述方法通過htaccess應用熱鏈接限制。我沒有自己嘗試過。
咦?這並不意味着每個圖像請求都必須先到您的服務器,才能進入CloudFront服務器?如果是這樣,是不是沒有擊敗使用CDN的重點? (它不適用於真正的大文件,如視頻,但是用於圖像?) – 2009-09-12 05:20:33
請求會打到您的Web服務器,並且瀏覽器會被告知應該在哪裏獲取文件,但瀏覽器的歷史記錄永遠不會使用實際的URL更新到CDN。 在大多數前端控制器框架中,這與「路由」背後的訣竅基本相同,但在這種情況下,請求絕不會轉發到應用程序服務器,只能轉發到Apache。 – Claude 2009-11-07 22:17:36
@Claude,如果使用的是下載管理器而不是瀏覽器,或者使用了類似curl/wget的東西,那麼重定向是不是透明的,因此可以實現盜鏈? – icarus74 2011-11-04 13:57:24
有一個很好的教程here。請務必查看註釋,因爲網站代碼中存在空白字符,導致解決方案無法正常工作。
盜鏈是亞馬遜創建的Cloudfront的原因之一。 Cloudfront要快得多。我做了一個關於它的文字,你可以看看這裏。
http://blog.sat.iit.edu/2011/12/amazon-aws-s3-vs-cloudwatch-performance-grudgematch/
編輯:S3和的Cloudfront都使用相同類型的鬥政策,以確保請求來自正確的URL。雖然Cloudfront仍然更快。
您需要一個存儲桶策略,它既允許來自您的域的推薦人,也拒絕來自您的域的推薦人。我發現,如果你不包括明確的拒絕,那麼圖像可能會被盜鏈 - 很多指南和例子只是給出了允許策略,並沒有提到拒絕部分。
這裏是我的政策,只是改變桶的名字和你-網站自己的細節:
{
"Version": "2008-10-17",
"Id": "",
"Statement": [
{
"Sid": "Allow in my domains",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET-NAME/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://www.YOUR-WEBSITE.com/*"
]
}
}
},
{
"Sid": "Deny access if referer is not my sites",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET-NAME/*",
"Condition": {
"StringNotLike": {
"aws:Referer": [
"http://www.YOUR-WEBSITE.com/*"
]
}
}
}
]
}
這是在他們的official docs
更改examplebucket
你斗的名字,並example.com
到您的域名。
"Version":"2012-10-17",
"Id":"http referer policy example",
"Statement":[
{
"Sid":"Allow get requests originating from www.example.com and example.com.",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::examplebucket/*",
"Condition":{
"StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
}
}
]
}
- 1. 如何防止使用Amazon S3進行雙重文件上傳?
- 2. S3水桶的CloudFlare:防止盜鏈
- 3. 如何防止flv盜鏈?
- 4. S3政策停止盜鏈?
- 5. 代碼簽名以防止盜版
- 6. AWS S3使用簽名的URL上傳
- 7. 如何防止使用已簽名的URL從amazon cloudfront下載視頻
- 8. 使用Amazon S3的ETag使用情況預簽名的URL
- 9. 如何防止apikey被盜?
- 10. 採用防盜鏈
- 11. 如何在不使用SDK的情況下爲Amazon S3生成預簽名url
- 12. 如何防止獨立Java webapp服務器上的盜鏈?
- 13. 使用簽名URL上傳到S3時獲取403(禁止)
- 14. 使用預簽名URL在Amazon S3上獲取或放置對象
- 15. Amazon S3簽名作品被禁止使用
- 16. 如何防止javascript代碼被盜用?
- 17. 防止亞馬遜Cloudfront盜鏈
- 18. 防止盜鏈/訪問mp4文件
- 19. 防止盜鏈經由的.htaccess
- 20. 無法防止盜鏈到pdf文件
- 21. 使用Amazon S3進行流式傳輸
- 22. 如何使用瀏覽器,Javascript在Amazon S3上進行分段上傳?
- 23. htaccess的防止盜鏈圖像特定文件名結構
- 24. 如何解決HTTPS不防盜鏈
- 25. 如何防止流式內容的盜鏈?
- 26. 如何防止JavaScript盜鏈和直接訪問?
- 27. 如何在Walrus S3上使用Amazon S3類?
- 28. 如何在python curl Postfields中傳遞編碼的Amazon s3簽名URL?
- 29. 如何使用Python請求在Amazon S3上執行`PUT`
- 30. S3簽名的URL和分段上傳
uhhhhh。沒有。這違背了CDN的目的。 – FlavorScape 2014-03-25 16:58:53