Реферальная программа - файлы cookie и прочее (Rails)

Я создаю реферальную программу для своего приложения 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 <- случайно сгенерированная последовательность чисел, связанных с данным пользователем, без части ? R = .

Любая помощь очень важна. оценен. Спасибо!

5
задан aguynamedloren 16 March 2011 в 11:19
поделиться