Ho un forum che utilizza phpBB. Ora vorrei fare qualcosa di simile dal codice sorgente:Come accedere a livello di programmazione nel forum phpBB?
login ("user", "password")
come fare questo in phpBB?
Ho un forum che utilizza phpBB. Ora vorrei fare qualcosa di simile dal codice sorgente:Come accedere a livello di programmazione nel forum phpBB?
login ("user", "password")
come fare questo in phpBB?
si wil Ho bisogno di uno script che si integri con il framework phpBB. Qualcosa del genere dovrebbe funzionare.
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>
Poi, guarda la funzione $auth->login() (un esempio di utilizzo è nella funzione login_box()
in /includes/functions.php
). Un esempio semplicistico ancora incompleta è:
$result = $auth->login($username, $password); // There are more params but they're optional
if ($result['status'] == LOGIN_SUCCESS)
{
// Logged in
}
else
{
// Something went wrong
}
Nello script PHP che sta strisciando attraverso HTML sarà necessario:
Potreste essere interessati a utilizzare qualche biblioteca già esistente per facilitare questo.
Per esempio, si può dare un'occhiata a Zend_Http_Client
(see also; la parte che riguarda Sending Multiple Requests With the Same Client probabilmente vi interesserà ;-))
Si potrebbe anche voler dare un'occhiata ad alcuni altri domande/risposte, come:
In primo luogo è necessario il bootstrap per phpBB:
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpBB/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
Dovrete sostituire la parte ./phpBB/
con il percorso relativo al forum.
di rendere l'utente connesso, quello che dovete fare:
$result = $user->session_create($user_id, $admin, $autologin, $viewonline);
$admin
dovrebbe probabilmente essere false
, $autologin
e $viewonline
dipendono da ciò che si desidera.
NOTA: Calling session_create
sarà impostare il cookie di sessione per l'utente, in modo da assicurarsi di chiamare solo quando la richiesta attuale è in realtà al servizio l'utente.
Questo non risponde alla domanda dell'OP, in quanto la tua soluzione non accetta il nome utente/password dell'utente per collegarsi, ma impone un accesso a una specifica '$ user_id '. – nickb
Abbastanza corretto, sono andato un po 'troppo lontano nei dettagli. Lascerò la mia risposta qui comunque, poiché ci ho messo un po 'di impegno. Potrebbe aiutare qualcuno un giorno. – igorw
Sono d'accordo, è utile se hai già il loro ID. – nickb
Non sei proprio sicuro di come questo ha a che fare con phpBB? – nickb
La domanda era: "Come accedere a livello di programmazione nel forum phpBB?". Questa è una buona risposta generale che lo spiega. – budwiser
@budwiser - La domanda era come accedere a ** phpBB **, non come accedere generalmente a qualsiasi applicazione Web remota.Quindi, non è adatto per phpBB, specialmente quando è disponibile un'API e questa risposta parla della scansione di HTML e dell'autenticazione remota. (La domanda dell'OP indica chiaramente la necessità di una soluzione di autenticazione locale) – nickb