4

Grails Web アプリケーションで A/B テスト用のコードを書き始めています。同じ IP アドレスからのリクエストには、常に同じバリエーションが表示されるようにしたいと考えています。IP->バリアントのマップを保存するのではなく、単に IP アドレスをドットを削除して整数に変換し、それを乱数ジェネレーターのシードとして使用しても問題ありませんか? Grails フィルターでは次のことが行われています。

def ip = request.remoteAddr
def random = new Random(ip.replaceAll(/\./, '').toInteger())
def value = random.nextBoolean()
session.assignment = value
// value should always be the same for a given IP address

IP アドレスでユーザーを識別するのは信頼できないことはわかっています。セッション変数/Cookie も使用しますが、これは、新しいセッションがあり、Cookie が設定されていない (またはユーザーが Cookie を持っている) 場合に役立つようです。無効)。

4

1 に答える 1