1

我是 PHP 和 Web 开发的新手。试图找出实施推荐的步骤。为 MVC 使用 Codeigniter。我用谷歌搜索了很多,并试图找到一个教程,但没有运气。

  1. 用户的推荐网址为http://mysite.com/?ref=primarykey_of_user
  2. 用户的朋友使用推荐网址访问我的网站。我将从默认控制器$_SERVER['HTTP_REFERER'];中读取推荐网址index()
  3. 从 url 中提取第一个用户的 primary_key 以供以后使用。

听起来安全吗?我应该包括任何其他步骤还是以不同的方式进行?

4

1 回答 1

1

HTTP_REFERER如果您正在跟踪推荐人,则除了知道他们来自哪里之外,您无论如何都不需要。但是,它可能会被伪造(虽然不太可能),因此如果您要使用该数据,则需要确保对其进行过滤等。

为引用的“人”提供标识是明智的,但您不想使用主键 - 您应该添加某种随机生成的唯一标识码,这样人们就无法猜到它。

如何生成代码取决于你——你只需要随机生成一个字符串:

   public function makePassword($length = 5){
        $password = "";
        $possible = "0123456789abcdfghjkmnpqrstvwxyz";
        $i = 0;
        while ($i < $length) {
            $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
            if (!strstr($password, $char)) {
                $password .= $char;
                $i++;
            }
        }
        return $password;
    }

使用该生成的代码将某人与数据库记录相关联。这样我就不能假设如果我是推荐人 #1,我可以找出 #2 的 ID,等等。

于 2013-04-02T22:21:19.057 回答