1

PHPとWeb開発は初めてです。紹介を実装するための手順を見つけようとしています。MVC に Codeigniter を使用する。私はよくグーグルでチュートリアルを見つけようとしましたが、うまくいきませんでした。

  1. ユーザーの紹介 URL はhttp://mysite.com/?ref=primarykey_of_userになります。
  2. ユーザーの友人が紹介 URL を使用して mysite にアクセスします。デフォルトコントローラーから紹介URLを読み取り$_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 に答える