あなたの問題に対する2つの解決策を提案させてください。
- アップロード先には仮想ドライブを使用してください。サーバーが Linux で実行されている場合、メモリのみにある仮想ファイル システムをマウントするのは非常に簡単です。ファイルは、実際のハードドライブにある場合よりも速くここに配置されます。説明したような問題がある場合は、仮想ドライブを消去するか、サーバーを再起動するだけです. RAM ディスクの説明については、この記事を参照してください。
24 時間の間に同じ IP アドレスから最大数のアップロードのみを受け入れるようにしてください。最大の効果を得るには、このソリューションをソリューション 1 と組み合わせてください。これを実装する 1 つの方法は、各 IP アドレスのアップロード カウントを持つグローバル オブジェクトを用意し、24 時間ごとにクリアすることです。
var uploads = {}
setInterval(function(){
uploads = {}
}, 24*60*60*1000); //Run every 24 hours
var onUpload = function(request, file){
if(uploads[req.ip] > maxUploadsAllowedPrUser)
fs.unlink(file) //Delete the file
else
uploads[req.ip]++ //Keep the file, and increase count
}
于 2013-03-07T21:26:16.170 に答える