我正在研究制作一个apache模块,以防止任何用户多次下载完全相同的大文件。
这是我想到的逻辑:
- Get IP address and if it's not in database, store it and allow download
如果存在IP地址,则:
- If current requested file matches previously requested file, show error
- Upon completion of download, remove IP address from database.
我打算通过输出过滤器捕获下载的结尾(或者我应该使用log_transaction挂钩?)。
这个想法的问题是黑客可以随时更改其IP地址,因此两个不同的IP地址可以同时下载完全相同文件的一个副本。
如何纠正这种情况,以便不会同时为多个属于黑客的IP地址同时运行完全相同的文件?
如果有人有解决方案,你能提供一些非常基本的伪代码,以便我可以相应地更新我的apache模块吗?