Я создаю реферальную программу для своего приложения Ruby on Rails, чтобы пользователь мог поделиться ссылкой, содержащей его идентификатор пользователя (app.com/?r=ID).Если идентификатор реферера присутствует, когда посетитель попадает на домашнюю страницу приложения, форма регистрации на главной странице содержит скрытое поле, которое заполняется идентификатором реферера.Затем контроллер обнаруживает идентификатор и создает нового реферала в таблице рефералов, если приглашенный посетитель регистрируется.Это работает, и вот этот кусок кода:
@referrer = User.find(params[:r]) rescue nil
unless @referrer.nil?
@referral = Referral.new(:referrer_id=>@referrer.id)
end
Довольно простой материал, но его довольно легко сломать (например: если посетитель уходит с домашней страницы, идентификатор реферера теряется).Мне кажется, что файлы cookie могут быть более надежным методом, когда файл cookie, содержащий идентификатор реферала, хранится на компьютере указанного пользователя в течение x дней.Это довольно распространенное явление, особенно с партнерскими программами, такими как Groupon, но я никогда не работал с cookie-файлами и не знаю, с чего начать.
Кроме того, есть ли хороший способ замаскировать или изменить URL реферальной системы?Вместо app.com /? R = 1842 , я бы предпочел что-то вроде app.com / x39f3 <- случайно сгенерированная последовательность чисел, связанная с данным пользователем, без<em>? R = часть.
Любая помощь с благодарностью.Спасибо!