2

ユーザーが友達を紹介した場合に報酬を与えたい。私は次のコードを使用してそれを実行しましたが、安全ではない可能性があるのではないかと心配しています (ユーザーは偽のアカウントを作成してゲームをプレイしています)。このコードを改善できますか? これをより適切に行う他の代替スクリプトはありますか?

if (isset($_GET['refer']) || isset($_GET['r'])) {
global $database, $session;
    if (!$session->logged_in) {
        $username = mysql_safe($_GET['refer']);
        if($database->usernameTaken($username)) {
            $userip= getRealIP();

            $q="SELECT uname FROM " . TBL_USERS . " WHERE ipad = '$userip'";
                $result=mysql_query($q, $database->connection);
                $result = mysql_numrows($result);      

            if ($result == 0) {
                $_SESSION['referer'] = $username;

            }
        }
    }

    function getRealIP()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
4

1 に答える 1