planning a hotlink protection strategy (original) (raw)
In many cases one of these factors will predominate.
- protection of bandwidth
- protection of content
If the foremost consideration is
bandwidth protection
, then it is immaterial how the file is used as long as it is not served up by the protected server. The most sensible strategy in this situation is to allow the files under hotlinking protection to be pushed out as far as possible. This implies that all available measures should be used to encourage proxy servers to cache these files. Files served by proxy servers have no bandwidth impact on the protected server. Many sites find that improving their cacheability by proxy servers results in a major reduction in bandwidth costs. Site users will experience improved response times because they are retrieving the files from points on the internet that are closer to them. Most often the proxy server is on their own network. Performance on non-cacheable files is also improved because the server has more resources to dedicate to serving these files.
The key to implementing this type of strategy is the use of the http cache-control header. The header that must be sent by the server is cache-control: public. By default IIS sends cache-control: private. This can be changed in the IIS management application at the service level, site level, or directory level. Just addan entry for cache-control and set the value to publicin the custom http headers area of the http headers tab. Proxy servers and browsers will now be able to cache the file for as long as their settings allow.
On the other hand, if content protection is the dominant factor, then caching becomes undesireable. Consideration must be given to whether it is to be limited at both the proxy server level and the client browser cache, or simply at the proxy server. Higher levels of caching control imply higher bandwidth usage, higher server loads and greater response times.
As in the section above, caching is controlled by setting the proper cache-control header. This header should be set toprivate if the file is permitted to be cached by the client browser and not a proxy server. Setting the header to none signals that neither client browsers nor proxy servers should cache the file.
Bear in mind that the dynamic urls generated by the coldlink software expire after 5 minutes. Caching the files referenced by these urls for periods greater than this will not cause any problems. However, caching the html pages containing these dynamic urls for periods longer than 5 minutes will lead to broken pages due to the references to expired files.
To prevent this from happening, IIS must be configured to send the appropriate http expires and cache-control headers for the directories containing such files.
To set these values in the IIS managment application, navigate to the desired directory, then check enable content expirationset the value to expire after 5 minutes add an entry for cache-control with a value of private in the custom http headersection of the http headers tab.
coldlink hotlink protection is currently available for:
- IIS 4.0 and Apache 2.046+ on Windows NT 4.0 Server
- IIS 5.0 and Apache 2.046+ on Windows 2000 Server
- IIS 6.0 and Apache 2.046+ on Windows 2003 Server click here to buy
puts hotlinks ...
... on ice