Mitenkähän tästä ongelmasta selviäis?
Käytössä siis phpBB keskustelu foorumi ja tuleville uusille sivuille olisi tarkoitus saada sellainen sivu jonne ei pääse kuin foorumiin rekisteröityneet käyttäjät.
Nyt kuitenkin ongelmana on, että miten saisin haettua tietokannasta nuo salasanat\käyttäjätunnukset automaattisesti. Tietysti se onnistuu sillain, että lisään aina käsin niitä tuonne, muuta parempi olisi jos ne saisi haettua tietokannasta suoraan.
Juurihakemistoon olen lisännyt .htpasswd tiedoston jonne nuo tiedot pitäisi saada haettua\lisättyä.
Phpbb:n tietokannassa olevat salasanat ovat eri muodossa kuin mitä .htpasswd-tiedosto vaatisi, joten suoraan tietokannasta haku ei onnistu.
Yksi ratkaisu olisi tietojen lisääminen rekisteröitymisen/kirjautumisen yhteydessä, jolloin salasana on mahdollista cryptata oikealla tavalla.
Eli... Miten tämä onnistuisi? Tai tulisi tehdä? Rekisteröitymisen yhteydessä...
Entäs kun phpbb:n salasanat on cryptattu erinlailla kuin palvelimella oleva oma cryptaus generaattori tekee, voinko muuttaa jollain ohjelmalla tms, tuota phpBB:n salasanaa eri cryptaus muotoon? tai voinko muuttaa sitä normaali muotoon niin kuin tavallaan purkaa tuon cryptauksen? Menipä sekavaksi :) kiitos avusta!
Toki kaikki on mahdollista, mutta en suosittele poistamaan noita kryptauksia.
Rekisteröitymisen yhteydessä kirjotat sinne .htpasswd-tiedostoon sen salasanan (ja tunnuksen). Tästä on muistaakseni jopa koodivinkki täällä putkassa.
Edit: Tässä vielä linkki siihen koodivinkkiin.
Minne tämä koodi laitetaan?
jpekkam kirjoitti:
Minne tämä koodi laitetaan?
Jotenkin arvasin, että kysyt tätä seuraavaksi. Et laita tuota koodia mihinkään tuollaisenaan. Ainut, mitä tarvitset on tuo funktio ja sen sijoitat sille rekisteröitymis-sivulle. Funktio tekee sinulle sen rivin, jonka kirjoitat sinne .htpasswd-tiedostoon. Tiedostoon kirjoittamisesta löytyy takuulla satoja esimerkkejä.
Eli vielä muutama kysymys...
En tarvitse kuin tämän funktion?
Tiedostoon kirjoittaminen.
Onko tämä se mitä tarvitsen tiedostoon kirjoittamiseen?
$tiedosto = fopen("tiedosto.txt", "w") or die("tiedostovirhe"); $muuttuja = "Tämä on vain esimerkki teksti"; fwrite($tiedosto, $muuttuja); fclose($muuttuja);
Minne nuo sijoitetaan rekisteröitymissivulla?
<?php /*************************************************************************** * profile.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : support@phpbb.com * * $Id: profile.php,v 1.193.2.4 2004/07/11 16:46:17 acydburn Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ define('IN_PHPBB', true); $phpbb_root_path = './'; include($phpbb_root_path . 'extension.inc'); include($phpbb_root_path . 'common.'.$phpEx); // // Start session management // $userdata = session_pagestart($user_ip, PAGE_PROFILE); init_userprefs($userdata); // // End session management // // session id check if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid'])) { $sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid']; } else { $sid = ''; } // // Set default email variables // $script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path'])); $script_name = ( $script_name != '' ) ? $script_name . '/profile.'.$phpEx : 'profile.'.$phpEx; $server_name = trim($board_config['server_name']); $server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://'; $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; $server_url = $server_protocol . $server_name . $server_port . $script_name; // ----------------------- // Page specific functions // function gen_rand_string($hash) { $chars = array( 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'); $max_chars = count($chars) - 1; srand( (double) microtime()*1000000); $rand_str = ''; for($i = 0; $i < 8; $i++) { $rand_str = ( $i == 0 ) ? $chars[rand(0, $max_chars)] : $rand_str . $chars[rand(0, $max_chars)]; } return ( $hash ) ? md5($rand_str) : $rand_str; } // // End page specific functions // --------------------------- // // Start of program proper // if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) { $mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode']; $mode = htmlspecialchars($mode); if ( $mode == 'viewprofile' ) { include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx); exit; } else if ( $mode == 'editprofile' || $mode == 'register' ) { if ( !$userdata['session_logged_in'] && $mode == 'editprofile' ) { redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true)); } include($phpbb_root_path . 'includes/usercp_register.'.$phpEx); exit; } else if ( $mode == 'sendpassword' ) { include($phpbb_root_path . 'includes/usercp_sendpasswd.'.$phpEx); exit; } else if ( $mode == 'activate' ) { include($phpbb_root_path . 'includes/usercp_activate.'.$phpEx); exit; } else if ( $mode == 'email' ) { include($phpbb_root_path . 'includes/usercp_email.'.$phpEx); exit; } } redirect(append_sid("index.$phpEx", true)); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.