pagina esterna ma collegata a phpbb

Area dedicata al phpBB 3.3.X
Avatar utente
Nexet
Nuovo Utente
Nuovo Utente
Messaggi: 15
Iscritto il: 30/04/2022, 12:58
Link del Forum: no

Re: pagina esterna ma collegata a phpbb

Messaggio da Nexet »

allora , ora considera che sto facendo una pagina php , e il percorso e giusto perchè , se metto uno sbagliato logicamente non carica nulla (non trovando i file del phpbb non si collega ne nulla al db).
allora la pagina in se per se funziona , se mi loggo dal forum e apro la pagina riportando logicamente il sid di sessione funziona , il problema che se provo a visitare la pagina da non loggato , essendo che ho inserito l'if di controllo per il login , mi vede sloggato e mi riporta al login , però dal link mi da il login www.forummio.it/sito/script/miapagina.php dove mi visualizza il login , e facendolo qui mi da il problema del link non sicuro , invece se mi loggo dalla index.php e mi riporto il sid la pagina php funziona.

Codice: Seleziona tutto

<!DOCTYPE html>
<html dir="ltr" lang="it">
<head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1" />
<?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);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$user->setup('viewforum');
$auth->acl($user->data);
if ($user->data['user_id'] == ANONYMOUS)
{
   login_box('', $user->lang['LOGIN']);
}else{
if ($user->data['group_id'] == '8'  || $user->data['username'] == "admin"  )
    {
?>
</head>
</html>
<?php
}else{
echo $user->data['username'];
echo "non sei del gruppo autorizzati";
$sessione=$user->data['session_id'];
//header("location: /viewtopic.php?t=60&sid=$sessione");
}}
?>
in pratica la pagina vede se sei loggato , e poi se fai parte del gruppo con id8 oppure se sei l'admin .
se sei sloggato ti porta al login , se sei loggato ma non fai parte del gruppo ti rimanda a un topic , altrimenti non fa nulla . il problema e quando ti porta al login . anche perchè poi non saprei come far visualizzare la pagina agli utenti loggati tramite link , nel senso che se apro un topic e inserisco il link /sito/script/pagina.php?sid= e qua dovrebbe prendere tramite la variabile il sid per la sessione , ma da un topic non posso mettere il nome della variabile $user->data['session_id']; perchè non funziona .
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: pagina esterna ma collegata a phpbb

Messaggio da Micogian »

Infatti la tua pagina non dovrebbe portare al login e non dovresti inserire il sid perchè questo cambia per ogni utente.
La pagina funziona così: se sei loggato al forum la pagina personalizzata controlla il group_id di chi si sta connettendo e se fa parte del gruppo stabilito la pagina si apre. Quello che poi fa la pagina è un'altra cosa, certamente non deve proporre il login ma visualizzare quello che è stato stabilito, che non ho ancora capito.
Se non sei loggato ti dovrebbe mostrare il messaggio che avevo inserito io nella pagina di esempio, cioè "ATTENZIONE: non hai i permessi per utilizzare questa pagina".
Se fai come nel mio esempio fa così, se fai altre cose non può farlo.
Se come hai detto stai facendo una pagina PHP l'unica parte di codice PHPBB è quella che si connette al database del forum, cioè il codice che avevi messo all'inizio, non serve altro, meno che meno aprire il login. L'utente deve sapere che poter aprire la pagina personalizzata deve prima essere loggato al Forum.
Il link alla pagina lo puoi aggiungere ai vari links che ci sono nell'index del Forum, basta una semplice estensione per aggiungere un link, ad esempio questa: https://giannidose.altervista.org/forum ... p?f=2&t=65

Il mio esempio funziona così: se chi apre la pagina è loggato e fa parte del gruppo stabilito visualizza il messaggio "ATTENZIONE: hai i permessi per utilizzare questa pagina". Ovviamente al posto di questo messaggio dovrebbe esserci il codice che visualizza quello che avresti previsto di inserire in questa pagina.
Se non sei loggato il messaggio sarà "ATTENZIONE: non hai i permessi per utilizzare questa pagina".
Quello che non ho capito è quello che vuoi inserire in questa pagina, certamente non la pagina di login.

Nel link non devi mettere il "sid", se nel topic metti il link "/sito/script/pagina.php" dovrebbe funzionare senza bisogno del sid, anche perchè se uno clicca su un url inserito in un topic vuol dire che è già loggato. Resta solo il fatto di cosa devi mettere nella pagina.
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: pagina esterna ma collegata a phpbb

Messaggio da Micogian »

Mi sono ricordato che tempo fa avevo creato un topic dove spiegavo come si crea una "Custom Page", eccolo: guide2/interrogare-il-database-in-una-c ... t3850.html
Avatar utente
Nexet
Nuovo Utente
Nuovo Utente
Messaggi: 15
Iscritto il: 30/04/2022, 12:58
Link del Forum: no

Re: pagina esterna ma collegata a phpbb

Messaggio da Nexet »

no aspetta come dici tu non può mai funzionare .
se visualizzo la mia pagina , ti dirà sempre che non hai i permessi perchè risulteri sempre sloggato se non ti trasporti il sid , su ogni link ti porta sempre il tuo sid della sessione , quindi se clicco www.mioforum.it/paginamia.php , che tu sia loggato o meno dal forum la paginamia.php non vedrà mai il login e quindi ti riporterà sempre al login , invece se fai www.mioforum.it/paginamia.php?sid=34394i394i3943 allora vede il log , ma il problema e questo in un topic come fai ad inserire il link che ti trasporta il sid della sessione di ogni user ? nella pagina php lo fai prendendo la variabile $user->data['session_id']; ma nel topic non funziona il php ltrimenti risolverei cosi
$sidsession= $user->data['session_id']; ;
www.mioforum.it/paginamia.php?sid=$sidssesion
il problema che come dicevo nel topic non funge .
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: pagina esterna ma collegata a phpbb

Messaggio da Micogian »

Tu stai insistendo sul login e sul "sid" ma è sbagliato. Nei miei siti ho almeno una ventina di pagine riservate allo Staff che funzionano perfettamente senza bisogno di inserire il "sid" o il login.
Ricopia pari pari il codice di esempio che ti avevo inserito, controlla che l'indirizzo del PHPBB sia corretto e prova. Vedrai che se l'utente è loggato si visualizza il messaggio che hai i permessi per visualizzare la pagina, se non sei loggato il messaggio sarà che non puoi visualizzare la pagina.
Se funziona quella è la strada, Non serve il login e non serve il "sid"
Per sapere se uno ha i permessi per accedere a una pagina devi ricavare l'user_id o il group_id e questo si ottiene inserendo nella pagina il codice di connessione al PHPBB che fornisce le variabili "$user->data['group_id']" e "$user->data['user_id']" che sono la base per sapere se uno ha i permessi o meno di visualizzare la pagina.
E' ovvio poi che il codice che visualizza il messaggio che puoi visualizzare la pagina va sostituito con il codice php che visualizza quello che vuoi inserire nella pagina.
Avatar utente
Nexet
Nuovo Utente
Nuovo Utente
Messaggi: 15
Iscritto il: 30/04/2022, 12:58
Link del Forum: no

Re: pagina esterna ma collegata a phpbb

Messaggio da Nexet »

la pagina che ho fatto è basata sul tuo codice , e se visualizzo la pagina direttamente mi da sempre che no ho i permessi nonostante sia loggato dal forum . ho anche provato senza modificarla ma il mio intoppo è sempre li .
la cosa che piu' mi da i nervi che se metto la pagina della root con le dovute modifiche , mi fa il login e non mi esce l'avviso del reindirizzamento pericoloso .

proprio per essere sicuro , ho copiato pari pari il tuo codice , ho modificato il percorso e nonostante abbia fatto il login e il gruppo sia lo stesso dell'id nell'if mi da che non ho i permessi , mi son stampato anche le variabili :
user_id = 1
group_id = 1

che come vedi da sempre 1 , nonostante vada sul forum e risulto loggato , invece se mi porto il sid , quindi www.mioforum.it/tuapagina.php?sid=6f1de5f9erfrfrfrfefe la pagina funziona dandomi i permessi e dia user_id che group_id corrispondono , ma ripeto e apri la pagina www.mioforum.it/tuapagina.php direttamente nonostante fai il login sul forum per lui sei sloggato.
Avatar utente
alex75
Amministratore
Amministratore
Messaggi: 6146
Iscritto il: 23/08/2012, 23:45
Link del Forum: www.phpbb-italia.it
Località: Palermo

Re: pagina esterna ma collegata a phpbb

Messaggio da alex75 »

L'avviso di pagina potenzialmente pericolosa, esce perchè da una pagina https stai cercando di loggarti ad una pagina http.
Toccherebbe vedere come hai integrato l'https al tuo sito/forum.
Sarebbe d'aiuto se indicassi nel tuo profilo, il link al tuo forum, così si va per tentativi ed intuizioni e non è utile a nessuno. Grazie
Regolamento Forum
Le nostre guide
Se l'assistenza prestata è stata di tuo gradimento potrai contribuire aiutandoci a sostenere le spese affrontate per tenere in vita questo forum >Cliccando sul seguente Link<
Avatar utente
Nexet
Nuovo Utente
Nuovo Utente
Messaggi: 15
Iscritto il: 30/04/2022, 12:58
Link del Forum: no

Re: pagina esterna ma collegata a phpbb

Messaggio da Nexet »

alex il problema che l'https è disattivato tutto il forum viaggia su http , è il forum non è online ma in una intranet , ma ripeto se inserisco la pagina nella root funziona .
ps. ho aggiunto informazioni alla risposta precedente .
Avatar utente
Micogian
Globalmod
Globalmod
Messaggi: 588
Iscritto il: 17/03/2016, 17:53
Link del Forum: https://www.actaplantarum.org

Re: pagina esterna ma collegata a phpbb

Messaggio da Micogian »

Ma se user_id e group_id sono sempre "1" vuol dire che la connessione al database del forum non è corretta e pertanto risulta che l'utente che apre la pagina sia user_id=1, cioè "Anonymous", praticamente un visitatore non loggato.
Hai detto che se la pagina la metti nella root funziona, vuol dire che se la pagina l'hai messa in una cartella diversa non è corretta la posizione del phpbb.
Se la cartella che contiene la pagina è stata messa nella root del forum l'indirizzo corretto sarà questo.

Codice: Seleziona tutto

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
che vuol dire che il PHPBB è una cartella indietro della cartella corrente che contiene la pagina personalizzata.
Praticamente bisogna farsi una domanda: "dove sta il phpbb rispetto alla cartella che contiene la pagina personalizzata?"
Avatar utente
Nexet
Nuovo Utente
Nuovo Utente
Messaggi: 15
Iscritto il: 30/04/2022, 12:58
Link del Forum: no

Re: pagina esterna ma collegata a phpbb

Messaggio da Nexet »

no ragazzi , la pagina i percorsi sono esatti , nella root funziona il fatto del login che non mi dice il messaggio del reindirizzamento pericoloso , ripeto la tua pagina aprendola direttamente non funziona , se ci fosse un problema di php , connessione percorso o altro , perche se nell'url gli passo il sid funziona ?
ti riscrivo :
se apro www.forum.it/tuapagina.php mi da sempre che non ho i permessi e quindi userid e gruppoid a 1 nonostante abbia loggato dal forum ,
se apro www.forum.it/tuapagina.php?sid=5jr5ijr5i8rj5 funziona perfettamente , e anche userid e gruppoid corrispondono .

mi sa che installo su altervista il forum in modo da far vedere via link anche a voi.
Rispondi