Ïåðåéòè èç ôîðóìà íà ñàéò.

ÍîâîñòèÔàéëîâûå àðõèâû
ÏîèñêÀêòèâíûå òåìûÒîï ëèñò
ÏðàâèëàÊòî â on-line?
Âõîä Çàáûëè ïàðîëü? Ïåðâûé ðàç íà ýòîì ñàéòå? Ðåãèñòðàöèÿ
Êîìïüþòåðíûé ôîðóì Ru.Board » IkonBoard è äðóãèå ôîðóìû » Invision Board » PHP, MySQL: Èíòåãðàöèÿ ñàéòà è ôîðóìà IPB (Invision Board)

Ìîäåðèðóåò : Antuan, Dekker

 Âåðñèÿ äëÿ ïå÷àòè • ÏîäïèñàòüñÿÄîáàâèòü â çàêëàäêè
Íà ïåðâóþ ñòðàíèöóê ýòîìó ñîîáùåíèþê ïîñëåäíåìó ñîîáùåíèþ

Îòêðûòü íîâóþ òåìó     Íàïèñàòü îòâåò â ýòó òåìó

6epcepk



Silver Member
Ðåäàêòèðîâàòü | Ïðîôèëü | Ñîîáùåíèå | ICQ | Öèòèðîâàòü | Ñîîáùèòü ìîäåðàòîðó


Êîä:
 
echo create_account("new", "1", "asd@bdf.ru");
 
    function create_account($username, $password, $email) {
                                        
        $member = array(
                         'name'                   => $username,
                         'members_l_username'     => $username,
                         'members_display_name'   => $username,
                         'members_l_display_name' => $username,
                         'member_login_key'       => generate_auto_log_in_key(),
                         'email'                  => $email,
                         'mgroup'                 => 3,
                         'posts'                  => 0,
                         'joined'                 => time(),
                         'ip_address'             => "127.0.0.1",
                         'time_offset'            => 0,
                         'view_sigs'              => 1,
                         'email_pm'               => 1,
                         'view_img'               => 1,
                         'view_avs'               => 1,
                         'restrict_post'          => 0,
                         'view_pop'               => 1,
                         'msg_total'              => 0,
                         'new_msg'                => 0,
                         'coppa_user'             => 0,
                         'language'               => "ru",
                         'members_auto_dst'       => 1,
                         'members_editor_choice'  => "std",
                         'allow_admin_mails'      => 1,
                         'hide_email'             => 0,
                         'subs_pkg_chosen'        => 0
                       );
        
        $salt     = generate_password_salt(5);
        $passhash = generate_compiled_passhash( $salt, md5($password) );
                        
        $converge = array( 'converge_email'     => $email,
                           'converge_joined'    => time(),
                           'converge_pass_hash' => $passhash,
                           'converge_pass_salt' => str_replace( '\\', "\\\\", $salt )
                         );
 
        
        mysql_qw("INSERT INTO ibf_members_converge
        SET converge_email = ?, converge_joined = ?, converge_pass_hash = ?, converge_pass_salt = ?",
        $email, time(), $passhash, str_replace( '\\', "\\\\", $salt )
        ) or die(mysql_error());
        
        $member['id'] = mysql_insert_id();
        
        mysql_qw('INSERT INTO ibf_members
        SET id = ?, name = ?, member_login_key = ?, email = ?, mgroup = ?, joined =?, members_display_name = ?',
        $member['id'], $member['name'], $member['member_login_key'], $member['email'], $member['mgroup'], $member['joined'], $member['members_display_name']
        ) or die(mysql_error());
 
        /*$validate_key = md5( make_password() . time() );
        $time         = time();
        
        mysql_qw('INSERT INTO ibf_validating
        SET vid = ?, member_id = ?, real_group = ?, temp_group = ?, entry_date = ?, coppa_user = ?, new_reg = ?, ip_address = ?',
        $validate_key, $member['id'], 3, 3, $time, 0, 1, $_SERVER['REMOTE_ADDR']
        ) or die(mysql_error());    */
                
 
        return $member['id'];
    }
    
    /*-------------------------------------------------------------------------*/
    // Generate password
    /*-------------------------------------------------------------------------*/
    
    /**
    * Generates a compiled passhash
    *
    * Returns a new MD5 hash of the supplied salt and MD5 hash of the password
    *
    * @param    string    User's salt (5 random chars)
    * @param    string    User's MD5 hash of their password
    * @return    string    MD5 hash of compiled salted password
    */
    
    function generate_compiled_passhash($salt, $md5_once_password)
    {
        return md5( md5( $salt ) . $md5_once_password );
    }
    
    /*-------------------------------------------------------------------------*/
    // Generate SALT
    /*-------------------------------------------------------------------------*/
    
    /**
    * Generates a password salt
    *
    * Returns n length string of any char except backslash
    *
    * @param    integer    Length of desired salt, 5 by default
    * @return    string    n character random string
    */
    
    function generate_password_salt($len=5)
    {
        $salt = '';
        
        //srand( (double)microtime() * 1000000 );
        // PHP 4.3 is now required ^ not needed
        
        for ( $i = 0; $i < $len; $i++ )
        {
            $num   = rand(33, 126);
            
            if ( $num == '92' )
            {
                $num = 93;
            }
            
            $salt .= chr( $num );
        }
        
        return $salt;
    }
    
    /*-------------------------------------------------------------------------*/
    // Generate auto log in key (MD5 hash of random 60 char string
    /*-------------------------------------------------------------------------*/
    
    /**
    * Generates a log in key
    *
    * @param    integer    Length of desired random chars to MD5
    * @return    string    MD5 hash of random characters
    */
    
    function generate_auto_log_in_key($len=60)
    {
        $pass = generate_password_salt( $len );
        
        return md5($pass);
    }
    
    
    
    function make_password()
    {
        $pass = "";
        
        // Want it random you say, eh?
        // (enter evil laugh)
        
        $unique_id     = uniqid( mt_rand(), TRUE );
        $prefix        = generate_password_salt();
        $unique_id .= md5( $prefix );
        
        usleep( mt_rand(15000,1000000) );
        // Hmm, wonder how long we slept for
        
        mt_srand( (double)microtime()*1000000 );
        $new_uniqueid = uniqid( mt_rand(), TRUE );
        
        $final_rand = md5( $unique_id.$new_uniqueid );
        
        mt_srand(); // Wipe out the seed
        
        for ($i = 0; $i < 15; $i++)
        {
            $pass .= $final_rand{ mt_rand(0, 31) };
        }
    
        return $pass;
    }
 

Âñåãî çàïèñåé: 2603 | Çàðåãèñòð. 02-05-2003 | Îòïðàâëåíî: 01:12 16-04-2007 | Èñïðàâëåíî: 6epcepk, 01:12 16-04-2007
Îòêðûòü íîâóþ òåìó     Íàïèñàòü îòâåò â ýòó òåìó

Íà ïåðâóþ ñòðàíèöóê ýòîìó ñîîáùåíèþê ïîñëåäíåìó ñîîáùåíèþ

Êîìïüþòåðíûé ôîðóì Ru.Board » IkonBoard è äðóãèå ôîðóìû » Invision Board » PHP, MySQL: Èíòåãðàöèÿ ñàéòà è ôîðóìà IPB (Invision Board)


Ðåêëàìà íà ôîðóìå Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Ðåéòèíã.ru