Added hashed IP address to the File object. We still have to consider how to securely store a hash of the IP for rate limits, since bcrypt generates a different salt for each hash and is therefore not suitable for unique identification