实现引用网址功能的步骤

时间:2013-04-02 22:13:26

标签: php codeigniter

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

  1. 用户的推介网址将为http://mysite.com/?ref=primarykey_of_user
  2. 用户的朋友使用引荐网址访问mysite。我将在$_SERVER['HTTP_REFERER'];默认控制器
  3. 中阅读来自index()的引荐网址
  4. 从网址中提取第一个用户的primary_key,以便稍后使用。
  5. 听起来安全吗?我应该包括任何其他步骤还是以不同的方式进行?

1 个答案:

答案 0 :(得分: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等。