Php 推荐系统

Php 推荐系统,php,mysql,Php,Mysql,我有一个会员网站和im计划实施一个转介系统。 我的网站是基于信用的,其想法是,如果用户X引用用户Y,那么用户X将获得100个额外信用 以前有没有人建立过转诊系统?如果有,我应该记住哪些障碍?今晚我进行了一次窥探,但找不到任何合适的答案 我的理论是给每个用户一个随机字符串,在他们注册时生成并存储在数据库中,然后向用户提供一个URL,其中包括该字符串,当他们传递给某个用户Z时,用户Z被发送到一个页面,该页面然后使用GET方法收集随机字符串并更新他们当前占用的数据库行,这听起来是可行的还是容易被违反

我有一个会员网站和im计划实施一个转介系统。 我的网站是基于信用的,其想法是,如果用户X引用用户Y,那么用户X将获得100个额外信用

以前有没有人建立过转诊系统?如果有,我应该记住哪些障碍?今晚我进行了一次窥探,但找不到任何合适的答案

我的理论是给每个用户一个随机字符串,在他们注册时生成并存储在数据库中,然后向用户提供一个URL,其中包括该字符串,当他们传递给某个用户Z时,用户Z被发送到一个页面,该页面然后使用GET方法收集随机字符串并更新他们当前占用的数据库行,这听起来是可行的还是容易被违反


谢谢

如果该值保持静态,那么它肯定会被破坏。我建议您不要给用户一个哈希值,我们将使用MD5来简化此操作,并保留其唯一的字符串。您可以创建一个临时表,该表保存所有已发送请求的记录,包括用户id和当前时间的随机哈希,使用类似于日期函数的内容以及附加到每个请求末尾的用户主键值。因此,在午夜发送一个引用,您可以使用以下命令在mysql中生成一个唯一的哈希

选择MD5 CONCAT NOW,user.id作为user中的哈希,其中user.id=


如果您每次都使用相同的散列,一旦有人发现该散列,除非进行了适当的防御,否则可能会被利用,这比为每个引用使用不同的散列要容易得多。

您可以使用用户X的用户名而不是随机字符串? 另外,对于随机字符串,您可能会遇到两个用户拥有相同随机字符串的情况。或者你打算两者都用

我不确定我是否认为有必要获得转诊,你害怕被滥用什么?使用多个帐户获得免费积分的用户?他们也可以使用随机字符串来实现这一点,如果您想要防止这种情况,您应该设置cookie和/或检查IP地址

如果有人违反系统,我们在谈论什么危险?仅仅是免费积分,还是人们通常会为这些积分付费?如果是这样,用户是否需要付费注册

如果用户付费成为会员,我认为没有理由限制推荐?在用户Y实际付款之前,不要奖励用户X任何东西。在引用用户Y时设置cookie/会话,如果用户Y在会话持有用户X的用户名时注册,则奖励用户X


关于你在atm上发布的信息,我只能说这些了。

通常这被称为会员计划。您在描述中的描述基本正确,但我也会将来自$\u GET var的引用存储到会话或cookie中,这样即使用户离开了引用页面,也可以对其进行信任。 我的意思是——通常,只有当用户Y注册或购买某样东西时,联属计划才会将用户X的积分计入。因此,用户Y可以点击推荐页面,然后环顾四周,然后找到返回注册页面或购买页面的方式。此时,转介$_GetVaR将丢失,信用也将丢失。因此,您的转介页面将存储转介代码的会话或cookie,您的注册页面或签出回调将检查这些变量并相应地执行操作。 我相信斯科特的方法是好的,如果有像他提到的担心,但或者你可能希望转介保持不变的所有时间,如业务转介的情况下,人们可能会把名片。他们在传销中经常这样做,在传销中,销售代表可以在公司的中心网站上获得个人资料,这样他们就不需要自己制作个人资料

我不知道你说的更新他们当前占用的DB行是什么意思。您是否建议使用类似计数字段的内容,该字段包含表示总转介的数字?如果是这样,我会说这不是一个好主意。您应该将每个成功的引用记录为关系表中自己的条目,引用者的id作为公共键。这样,你就可以在推荐信中存储各种帖子数据,这样你就可以知道自己是否受到了干扰。比如说,一个用户拥有1000个雅虎账户,并使用自己的推荐代码注册,只是为了获得奖金积分。您的关系表可能会看到重复的IP地址,或者是递增的引用电子邮件johndoe1000@yahoo.com, johndoe1001@yahoo.com,然后你就知道要采取行动了


您的建议的安全性最终取决于您如何处理数据。如果盲目地在数据库中插入任何内容,那么一切都是有害的。只要确保正确地逃避事情,并注意行为,即使是手动操作。你应该没事。

信用卡在网站上购买一次,所以我唯一担心的是人们为了获得更多信用卡而伪造账户,因此信用卡的价值会大大降低,谢谢 谢谢你的答复!