php - 推荐系统

标签 php mysql

我目前有一个用 PHP 构建的网站,我希望今晚构建一个推荐系统。

我的理论是,如果我动态生成一个 url 并将其放在用户的主页上,例如

“推荐网址 = www.mysite.co.uk/referral.php?user=myuser”

然后我可以在页面 referral.php 中有一个脚本,它获取用户名并运行一个 sql 查询来更新他们在我的表中的相应行。

唯一的问题是任何人都可以添加自己的名字并注册多个帐户。

构建这样的东西的最佳方法是什么?

谢谢


假设要获取推荐 url,我的用户必须单击一个按钮,该按钮以随机数形式生成推荐 url,即 mysite.com/refer.php?user=234234,同时将其存储在数据库中。

一旦有人访问页面 refer.php,推荐人就会将他的信用或利益添加到他在数据库中的行中,同时将他的推荐代码设置为 0,使代码仅可用一次。

每次他点击页面上的按钮时,他的推荐代码都会改变。

你认为这有效吗?

最佳答案

您的想法通常是正确的,但很难防止推荐系统中的欺诈行为。您可以检查 $_SERVER 中的唯一 IP 地址,并将其添加到每个请求的数据库中,丢弃重复项或限制来自并非来自注册用户的 IP 地址的引用。与 HTTP_REFERRER 一样,这也可以很容易地被欺骗(例如使用 TOR)。

这是一个棘手的问题,您无法真正“解决”。与大多数欺诈案件一样,您只能尽力减轻影响。

编辑添加:您还可以通过强制推荐的用户在指定的时间段(比如 30 天)内在网站上处于事件状态来要求推荐“成熟”,以增加垃圾邮件发送者/骗子的努力。但同样,这并不能“解决”问题——你所能做的就是让他们更难利用这个系统。有时,通过执行这些操作,您可能会破坏用户体验。那么你如何平衡呢?棘手的问题。 :)

编辑以解决您的编辑:如果我们实现您的计划,请考虑以下情况:

1) 我单击按钮并获取我的代码。然后我将它粘贴到...到底是谁?一个人?这对于在 Facebook、MySpace(是否存在?)或我的个人博客上分享并不是特别好。我必须为我发送到网站的每个人生成一个推荐代码?这不仅扩展性极差,而且用户体验也很糟糕。

2) 假设我知道你在做什么。我开发了一个可以点击该按钮 4 万亿次的机器人。现在怎么办?

关于php - 推荐系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6445600/

相关文章:

php - 在 PHP 中查询 MySQL 时间戳

Mysql查询从Purchase_history表中查找购买商品的最后交易日期

php - preg_match_all php 插入结果

php - 通用 MySQL 查询

php - 良好运行系统的备份

php - 使用 PHP 添加 MySQL 中不存在的字段

php - 警告 : mysql_result() [function. mysql-result] : Unable to jump to row 0 on MySQL result index 5 in profile. php on line 11

mysql - 连接同一表的两列,忽略空值。数据库

javascript - 使用ajax从php和mysql获取数据

php - php/mysql 表中联合或联接内的减法