Каков наилучший способ запретить пользователям делиться кукисами сеансов в Rails?Остановка сеанса Обмен между вредоносными пользователями в Rails
Я думаю, что у меня есть хороший способ сделать это, но я бы хотел запустить его из-за переполнения стека, чтобы убедиться, что есть более простой способ.
В основном я хотел бы определить, пытается ли кто-то поделиться платным членством с другими. Пользователи уже просматриваются в момент входа в систему для входа в систему из слишком большого количества разных подсетей, но некоторые из них пытались обойти это, обменяв файлы cookie сеансами. Каков наилучший способ сделать это без привязки сеансов к IP-адресам (много законных людей используют вращающиеся прокси).
Лучшая эвристика, которую я нашел, - это подсеть/время класса B (некоторые интернет-провайдеры используют вращающиеся прокси на разных классах C). Это создало для нас наименьшее количество ложных срабатываний, поэтому я хотел бы придерживаться этого метода.
Прямо сейчас я подумываю применить фильтр перед фильтром для каждого запроса, который отслеживает, какие Подсети и session_ids пользователь использовал в memcached, и применяет эвристику к этому, чтобы определить, является ли общий файл cookie.
Проще или проще реализовать идеи? Любые существующие плагины, которые это делают?
Ron, Спасибо за ответ, я выбрал вас за Джесси, потому что я беспокоюсь о возможных условиях гонки в его методе. К сожалению, я уже реализовал метод подсети, но если у него есть какие-либо проблемы, это будет следующий список. –
Рад, что это работает для вас. Просто из любопытства вы собираетесь прямо запретить подозреваемых людей или предупредить их каким-то образом, подобным тому, который я предложил? –