制限時間内に何かをアップロードした後にクライアントがアップロードを続けるのを防ぐにはどうすればよいですか? IPアドレスに基づいています。制限時間内にアップロードを無効にする方法
答えて
$ _SERVER ['REMOTE_ADDR']と$ _SERVER ['HTTP_X_FORWARDED_FOR']変数を使用してIPアドレスを取得し、要求日とともに(たとえばデータベースに)格納することができます。各アップロードリクエストで、(このIPからの最後のアップロード時刻) - (現在の時刻)>の期間を確認できます。
ところで、ユーザーが単一のIPに常にバインドされているとは限らず、多くのユーザーが単一のIPを使用できます。たとえば、同じNATの背後に隠れているユーザーからのアップロードを制限します。
ユーザーのIPアドレスを無効にすることは効果がありません。 Kelの言葉に加えて、クライアントは動的IPを持っていてもTorを使っているかもしれません。
本当に唯一の方法は、ユーザーに何らかの形で自分を識別させることです。そこにはたくさんのオプションがあります:Facebook、OpenID、Twitterなどあなたのサイトのためのユーザーアカウントシステムを作ることができますが、それはユーザーにとってずっと不便です。すでに設置されているインフラストラクチャを使用する方が良いでしょう。
技術的な面では、基本的にファイルをアップロードしたユーザーのデータベーステーブルと、アップロードした時間を保持するタイムスタンプの列を保持します。このテーブルをCronジョブで定期的にトラバースし、あらかじめ定義されたしきい値より古いユーザーを削除します。
人がアップロードしようとすると、データベースに入っているかどうかを確認します。そうであればアップロードできません。もしそうでなければ、彼らは行きたい。
まだ多くのサイトでそれを使用しています(rapidshare、megauploadなど)。これを使用して多くをアップロードする場合は、帯域幅の多くを自分で安全にすることができます。 – Alfred
私は完全な証明方法はないと思いますし、提案には反論があります。
ただし、ウェブサイトでもアップロードとライブが可能です。
あなたはユーザーを識別する異なる方法組み合わせることができます。
正規クッキー
のFlashクッキー
をIPアドレス
これらのすべてを克服することができますしかし、誰もがフラッシュクッキーについて知っているわけではありません。モデムをオン/オフに切り替えることによってIPを変更する人もいます。人々の怠惰/無知を決して過小評価しないでください:)
- 1. アンドロイド - 時間によってプロセスを制限する方法
- 2. クリック数の制限、制限、無効化
- 3. データ型smalldatetimeの表示時間を無効にする方法
- 4. アップロード時に画像の幅や高さを制限する方法
- 5. 無効にすることなくドロップダウンリストの変更を制限する方法
- 6. Spring MVC3 Controllerにアップロードするファイルタイプを制限する方法
- 7. Appceleratorでビデオの録画時間と録画時間を制限する方法
- 8. Linuxカーネルでタスクのシステムコールの時間を制限する方法
- 9. elasticsearchでクエリ時間を制限する方法は?
- 10. mysqlデータベースに接続する時間制限を設定する方法
- 11. PHPを使用して数時間以内にパスワードを忘れた方のリンクを制限する方法
- 12. 一致する文字列を無効にするXSD制限
- 13. PHPで特定の時間にボタンを無効にする方法
- 14. ユーザーが24時間以内に与えることができる投票数を制限する方法
- 15. Googleクローラの時間制限
- 16. php/mysqlの時間制限
- 17. ユーザーログインの時間制限
- 18. nginx auth_basic時間制限
- 19. nvd3で凡例を無効にする方法やサイズを制限する方法
- 20. アセンブリのx86でループを制限する方法(無限に印刷する)?
- 21. linuxの下でGPUのタイムアウト制限を無効にする方法や変更する方法は?
- 22. sphinx/docutilsのデフォルトのフィールド名の制限を無効にする
- 23. In Rails/Formtastic時間入力フィールドで時間を制限するには
- 24. 制約を一時的に無効にする
- 25. SQLサーバーで一時的に制約を無効にする
- 26. 1ヶ月間にアプリケーションの使用を制限する方法
- 27. 実行ファイルが無限大で実行される時間(タイミング制限)
- 28. dijitで時間選択ツールを無効にする方法dojoツールキットのTimeTextBox?
- 29. 同じ行に要素を無制限に置く方法は?
- 30. 過去の日付を無効にして、ユーザーが通過時間を選択するのを制限する方法
IPは無効な認証方法です。クライアントは簡単にTorを使用することができます。 – Jonah
@Jonah:ところで、より効果的な方法は何ですか? – Chetan
@Jonah - 「** Tor **」についてもっと教えていただけますか?私はそれを検索しようとしましたが、特定の直接の答えを得ることができませんでした。たぶん私の脳は二日酔いしています。 –