Hello%username%
まず、特定のDjangoポータルを使用して、新しいユーザーを招待したことで特定のボーナスがユーザーに発生します。 このような紹介システム。 ただし、招待されたユーザーがアクティブな場合にのみ、ボーナスが発生します。 今日、ユーザーの一人がバーチャルを始めたのではないかと疑っていました。 これについて彼に有罪判決をしよう...
すべてのプロジェクトにコアアプリカがあり、あらゆる種類の有用なユーティリティを保持しています。 このアプリケーションでは、
middleware.pyファイルを作成します。
import logging import logging.handlers bytes=1024000 count=10 formatter = logging.Formatter("%(asctime)s-%(message)s") MODELS_FILE = '/home/ramovsky/users.log' logmodels = logging.getLogger('users') logmodels.setLevel(logging.DEBUG) handler = logging.handlers.RotatingFileHandler(MODELS_FILE, maxBytes=bytes, backupCount=count) handler.setFormatter(formatter) logmodels.addHandler(handler) class TrackUsersMiddleware(object): def process_request(self, request): ip = request.META.get('REMOTE_ADDR', '') or request.META.get('HTTP_X_FORWARDED_FOR', '') logmodels.debug('%s %s %s'%(request.user, request.path, ip))
ミドルウェアを
settings.pyに追加し
ます MIDDLEWARE_CLASSES = (
また、ヘッダー生成
「HTTP_X_FORWARDED_FOR」を
/etc/nginx/nginx.confに追加することを忘れないで
くださいlocation / {
#---- cut -----
fastcgi_param REMOTE_ADDR $remote_addr;
}
DjangoとNginxを再起動します。 ログ
grep -E 'AnonymousUser | User1 | User2' users.logを調べて分析します。
一般に、ユーザーがインターネット技術にどれだけ精通しているか、ボーナスの大きさによって、イベントのいくつかのオプションが可能です。
Noobは現在のIPですべてを実行します。 そのような人を次のような記録に従って追跡するのは簡単です
2011-04-20 14:00:03,123-AnonymousUser /accounts/login/ 80.91.173.10
2011-04-20 14:00:22,967-User1
2011-04-20 14:00:22,967-User1 /logout/ 80.91.173.10
2011-04-20 14:01:03,123-AnonymousUser /accounts/login/ 80.91.173.10
2011-04-20 14:01:22,967-User2
2011-04-20 14:01:22,967-User2 /logout/ 80.91.173.10
すべてのアクションは、同じIPから、異なるユーザーに代わって順番に実行されます。
上級ユーザーは、動的IPまたはプロキシを使用して非表示にしようとします。
2011-04-20 14:00:03,123-AnonymousUser /accounts/login/ 18.11.173.10
2011-04-20 14:00:22,967-User1
2011-04-20 14:00:22,967-User1 /logout/ 18.11.173.10
2011-04-20 14:01:03,123-AnonymousUser /accounts/login/ 34.91.173.10
2011-04-20 14:01:22,967-User2
2011-04-20 14:01:22,967-User2 /logout/ 34.91.173.10
IPは異なりますが、疑似ユーザーのアクションは厳密にシーケンシャルです。
プログラマがタスクを引き受けた場合、プロキシを使用し、ユーザーアクティビティをエミュレートするスクリプトを記述すると、
プログラマがそれをキャッチするのは非常に困難になります。 深刻なケースでは、テクノロジーではなく心理学で作業する必要があります。 ボーナスを受け取りやすい人を与える必要があります。そうすれば、欲と免責に盲目にされ、警戒心を失い、スクリプトがログに特徴的な表示を持つようになります。
一般的に、私はすべての人が善良で正直なユーザーであることを願っています。 実際、まず第一に、彼らのために、私たちはポータルを書いています。