Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>For files where privacy actually matters, we handle this as follows:</p> <ul> <li>Files are stored with a private ACL, meaning that only an authorized agent can download (or upload) them</li> <li>To access a file, we link to <code>http://myapp.com/download/{s3-path}</code>, where <code>download</code> corresponds to a controller (in the MVC sense)</li> <li>ACLs are implemented as appropriate so that only logged-in users can access that controller/action</li> <li>That controller downloads the file using the API, then streams it out to the user with correct mime-type, cache headers, file size, etc.</li> </ul> <p>Using this method, you end up using a lot more bandwidth than you need, but you still save on storage. For us this works out, because we tend to run out of storage much more quickly than bandwidth. </p> <p>For files where privacy only sort of matters, we generate a random hash that we use for the URL. This is basically security through obscurity, and you have to be careful that your hash is sufficiently difficult to guess.</p> <blockquote> <p>However, when I did a "view source" in the browser of the page I noticed that the URL of the picture was an Amazon S3 URL in the S3 bucket that I assigned to the app. I cut &amp; pasted the URL and was able to view the picture in the same browser, and in in another browser in which I had no open sessions to my web app or to Amazon S3.</p> </blockquote> <p>Keep in mind that this is no different than any image stored elsewhere in your document root. You may or may not need the kind of security you're looking for.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload