Visualizzazione risultati 1 fino 21 di 21

Discussione: [phpbb e database] Come eseguire query su phpbb

  1. #1
    Guest

    Question [phpbb e database] Come eseguire query su phpbb

    Buongiorno a tutti, mi chiamo Alessandro ed ho un problema con l'utilizzo di phpbb ed il suo database.

    Lo scopo mio è poter eseguire delle query sul file overall_header.htm in modo tale che contattino il database ed estrapolino le informazioni.

    Sono pratico di SQL ma provando con un semplice SELECT FROM sul sito riesco solo a leggere ciò che ho scritto o.O Insomma la pagina non capisce che quelle righe sono un comando SQL e non semplice testo.
    Ho letto sul wiki di phpbb come funziona persino il Database Astraction Layer, ho provato ad inserire le stringhe da loro proposte ma non funzionano, su quel fatto sono quasi sicuro che quel code lo regge solo il php e non l'htm .

    Mi sapreste dire come posso applicare in modo furbo una query e che funzioni? =)

    Rimanendo in attesa di risposte,
    porgo cordiali saluti a tutta la community

    PS: Mai visto un forum così organizzato :D

  2. #2
    L'avatar di ptm
    ptm
    ptm non è connesso Utente
    Data registrazione
    04-08-2007
    Residenza
    Bergamo
    Messaggi
    124

    Predefinito

    Innanzitutto non potrai mai eseguire da un file html. Devi usare per forza php: http://php.net/manual/en/function.mysql-connect.php

  3. #3
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Il codice php nel file overall_header.htm può essere eseguito solo se lo hai attivato nel PCA e lo racchiudi tra <!-- PHP --><!-- ENDPHP -->
    per esemp.
    Codice HTML:
    <!-- PHP -->$str="Prova"; echo $str;<!-- ENDPHP -->

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Il codice php nel file overall_header.htm può essere eseguito solo se lo hai attivato nel PCA e lo racchiudi tra <!-- PHP --><!-- ENDPHP -->
    per esemp.
    Codice HTML:
    <!-- PHP -->$str="Prova"; echo $str;<!-- ENDPHP -->
    In pratica devo integrare nell'html la possibilità di eseguire codice php?
    Nello specifico dove posso trovare questo dettaglio da attivare nel PCA?

    Grazie =)

  5. #5
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Devi andare: PCA -> Generale -> Configurazione server -> Sicurezza -> Permetti php negli stili

  6. #6
    L'avatar di silvermaledetto
    silvermaledetto non è connesso AlterGuru 2500
    Data registrazione
    01-03-2007
    Residenza
    Provincia di Modena
    Messaggi
    4,613

    Predefinito

    è comunque una scelta che rimane pericolosa!
    Io ne ho... visti forum che voi umani non potreste immaginarvi... PhpBB3 in panne al largo dei database MySQL di Orione... E ho visto i TAG [B] balenare nel buio vicino al postreply di Tannhäuser.... E tutti quei... momenti andranno perduti nel tempo... Come... lacrime... nella pioggia... È tempo... di backuppare....

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da silvermaledetto Visualizza messaggio
    è comunque una scelta che rimane pericolosa!
    Come mai? A quale genere di attaco rimarrei vulnerabile?

    un ringraziamento speciale a andreafallico =)

    Aggiornamenti: credo che persino phpbb capisca che le mie query sono pericolose o.O difatti mi blocca tutta la index.php indicandomi un errore fatale proprio su quella riga.

    E se facessi una pagina php a parte e la linkassi sull'header di phpbb?
    Come potrei in questo caso scrivere un php a parte e come potrei poi in seguito unirla alla pagina htm? insomma vorrei inglobarla.......

    Una curiosità: questa pagina php con quale comando preciso riuscirebbe a connettersi al db x poi estrapolare la risposta alla mia query?

    Ringrazio ancora :P
    Ultima modifica di incursoristealth : 02-08-2010 alle ore 20.47.21

  8. #8
    L'avatar di silvermaledetto
    silvermaledetto non è connesso AlterGuru 2500
    Data registrazione
    01-03-2007
    Residenza
    Provincia di Modena
    Messaggi
    4,613

    Predefinito

    ai miei di sicuro
    Fallo con prudenza, proprio se non trovi il modo di eseguirlo diversamente.
    Magari dai un occhiata al file
    Root/includes/constants.php
    Ultima modifica di silvermaledetto : 02-08-2010 alle ore 20.47.28
    Io ne ho... visti forum che voi umani non potreste immaginarvi... PhpBB3 in panne al largo dei database MySQL di Orione... E ho visto i TAG [B] balenare nel buio vicino al postreply di Tannhäuser.... E tutti quei... momenti andranno perduti nel tempo... Come... lacrime... nella pioggia... È tempo... di backuppare....

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da silvermaledetto Visualizza messaggio
    ai miei di sicuro
    Fallo con prudenza, proprio se non trovi il modo di eseguirlo diversamente.
    Magari dai un occhiata al file
    Root/includes/constants.php
    chiamalo intuito ma sarei vulnerabile ad un sql injection ;)


    ps: ho modificato con news il mio post precedente

    -

    NEWS:

    Ho creato una query (che oltretutto non mi funziona T_T)

    e vorrei quindi far in modo che questo file venga visto sull'header di phpbb.

    Mi illuminate pls sul codice da incorporare e se potete mi trovate l'errore?

    ringrazio in anticipo


    Codice PHP:
    <?php
    mysql_connect
    ("localhost", "incursoristealth", "") or die(mysql_error());
    mysql_select_db("my_incursoristealth") or die(mysql_error());

    $result = mysql_query(" SELECT user_id
    FROM `phpbb_user_group`
    WHERE group_id=11"
    )
    or die(
    mysql_error());
    $row = mysql_fetch_array( $result );


    $result1 = mysql_query("SELECT username
    FROM `phpbb_users`
    WHERE user_id=
    $result

    $row = mysql_fetch_array($result1);
    while(
    $row = mysql_fetch_array($result1)){
    echo
    $row['result1'];
    echo "
    <br />";
    }
    ?>
    Ultima modifica di andreafallico : 02-08-2010 alle ore 23.02.30 Motivo: Usa il tasto Edita

  10. #10
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice PHP:
    <?php
    mysql_connect
    ("localhost", "incursoristealth", "") or die(mysql_error());
    mysql_select_db("my_incursoristealth") or die(mysql_error());

    $result = mysql_query("SELECT user_id FROM `phpbb_user_group` WHERE group_id=11") or die(mysql_error());
    $row = mysql_fetch_array( $result );


    $result1 = mysql_query("SELECT username FROM `phpbb_users` WHERE user_id='{$row['user_id']}'");

    while(
    $row = mysql_fetch_array($result1)){
    echo
    $row['username'];
    echo
    "<br />";
    }
    ?>

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Prova così:
    Codice PHP:
    <?php
    mysql_connect
    ("localhost", "incursoristealth", "") or die(mysql_error());
    mysql_select_db("my_incursoristealth") or die(mysql_error());

    $result = mysql_query("SELECT user_id FROM `phpbb_user_group` WHERE group_id=11") or die(mysql_error());
    $row = mysql_fetch_array( $result );


    $result1 = mysql_query("SELECT username FROM `phpbb_users` WHERE user_id='{$row['user_id']}'");

    while(
    $row = mysql_fetch_array($result1)){
    echo
    $row['username'];
    echo
    "<br />";
    }
    ?>
    Funziona! Ma a metà o.O dovrebbero essere 2 i risultati e mi viene printato solo uno =( Ho riletto il tuo code e non fa una grinza...... come fare? :S

    PS: questa pagina di risultato poi come lo incorporo sull'header senza espormi a rischi?

  12. #12
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice PHP:
    <?php
    mysql_connect
    ("localhost", "incursoristealth", "") or die(mysql_error());
    mysql_select_db("my_incursoristealth") or die(mysql_error());

    $result = mysql_query("SELECT user_id FROM `phpbb_user_group` WHERE group_id = 11") or die(mysql_error());
    $rows = mysql_fetch_assoc($result);
    while(
    $rows){
    $record = mysql_query("SELECT username FROM `phpbb_users` WHERE user_id = {$rows['user_id']}");
    $row = mysql_fetch_assoc($record);
    if(
    $row)
    echo
    $row['username'];
    $rows = mysql_fetch_assoc($result);
    if(
    $rows)
    echo
    '<br />';
    }
    ?>
    Ultima modifica di andreafallico : 03-08-2010 alle ore 13.07.38

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Prova così:
    Codice PHP:
    <?php
    mysql_connect
    ("localhost", "incursoristealth", "") or die(mysql_error());
    mysql_select_db("my_incursoristealth") or die(mysql_error());

    $result = mysql_query("SELECT user_id FROM `phpbb_user_group` WHERE group_id = 11") or die(mysql_error());
    $rows = mysql_fetch_assoc($result);
    while(
    $rows){
    $record = mysql_query("SELECT username FROM `phpbb_users` WHERE user_id = {$rows['user_id']}");
    $row = mysql_fetch_assoc($record);
    if(
    $row)
    echo
    $row['username'];
    $rows = mysql_fetch_assoc($result);
    if(
    $rows)
    echo
    '<br />';
    }
    ?>
    Perfetto :D ti ringrazio.

    Ora ho in pratica questo php e vorrei integrarlo nell'header del sito senza mettermi a rischio di black hat :P , come fare?

  14. #14
    L'avatar di silvermaledetto
    silvermaledetto non è connesso AlterGuru 2500
    Data registrazione
    01-03-2007
    Residenza
    Provincia di Modena
    Messaggi
    4,613

    Predefinito

    A parte che il rischio c'è sempre e comunque, io ti ho indicato il file dove vengono eseguite tutte le operazioni costanti col database della Board.
    La procedura deontologicamene corretta d'inserimento, per me sarebbe quella d'integrare il php creato non nell'overall_header.html ma bensì nel file
    index.php tramite un INCLUDE

    Questo sempre nell'ottica di non abilitare il php nello stile, che poi puoi pure abilitarlo, ma almeno non pubblicizzarlo
    Ultima modifica di silvermaledetto : 03-08-2010 alle ore 15.38.20
    Io ne ho... visti forum che voi umani non potreste immaginarvi... PhpBB3 in panne al largo dei database MySQL di Orione... E ho visto i TAG [B] balenare nel buio vicino al postreply di Tannhäuser.... E tutti quei... momenti andranno perduti nel tempo... Come... lacrime... nella pioggia... È tempo... di backuppare....

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da silvermaledetto Visualizza messaggio
    A parte che il rischio c'è sempre e comunque, io ti ho indicato il file dove vengono eseguite tutte le operazioni costanti col database della Board.
    La procedura deontologicamene corretta d'inserimento, per me sarebbe quella d'integrare il php creato non nell'overall_header.html ma bensì nel file
    index.php tramite un INCLUDE

    Questo sempre nell'ottica di non abilitare il php nello stile, che poi puoi pure abilitarlo, ma almeno non pubblicizzarlo
    Mmm capito , ma ora mi chiedo:
    -nel file constants.php dove devo mettere il codice e come? (l'ho letto ieri sera ed era troppo strano per i miei gusti quel file O_O)
    -come posso poi includere tutto ciò nell'index.php in modo tale che rimanga nella zona dell'header?

    Ringrazio in anticipo
    Alessandro

  16. #16
    L'avatar di silvermaledetto
    silvermaledetto non è connesso AlterGuru 2500
    Data registrazione
    01-03-2007
    Residenza
    Provincia di Modena
    Messaggi
    4,613

    Predefinito

    Io ti dico cosa si potrebbe fare, non mi spingo oltre.
    Questo era per evitare il php nello stile, che comunque è un opzione settabile, quindi un compromesso accettabile, altrimenti sarebbe precluso direttamente.

    Ma ci sarebbero pure altri modi che mi sovvengono: tipo creare una pagina custom phpbb3 (php/html/language) e poi richiamarla questa si direttamente nell'overall_header.html.

    Ma i miei vogliono solo essere degli spunti da cui poi dovrai lavorarci sopra.
    Ultima modifica di silvermaledetto : 03-08-2010 alle ore 18.00.06
    Io ne ho... visti forum che voi umani non potreste immaginarvi... PhpBB3 in panne al largo dei database MySQL di Orione... E ho visto i TAG [B] balenare nel buio vicino al postreply di Tannhäuser.... E tutti quei... momenti andranno perduti nel tempo... Come... lacrime... nella pioggia... È tempo... di backuppare....

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da silvermaledetto Visualizza messaggio
    Io ti dico cosa si potrebbe fare, non mi spingo oltre.
    Questo era per evitare il php nello stile, che comunque è un opzione settabile, quindi un compromesso accettabile, altrimenti sarebbe precluso direttamente.

    Ma ci sarebbero pure altri modi che mi sovvengono: tipo creare una pagina custom phpbb3 (php/html/language) e poi richiamarla questa si direttamente nell'overall_header.html.

    Ma i miei vogliono solo essere degli spunti da cui poi dovrai lavorarci sopra.
    In pratica qualcosa tipo la mod "tagboard"?

  18. #18
    L'avatar di silvermaledetto
    silvermaledetto non è connesso AlterGuru 2500
    Data registrazione
    01-03-2007
    Residenza
    Provincia di Modena
    Messaggi
    4,613

    Predefinito

    Io constato che quando abbisognano interventi del database, abilitare il php nello stile è sempre l'ultima soluzione adottata.
    Ma puoi farlo sia inteso.
    Nelle MOD di un certo tipo, vedo che utilizzano UMIL, o creano tabelle nel database poi richiamate ma nei file php della board.

    La TagBoard non sfugge alla regola
    Ultima modifica di silvermaledetto : 03-08-2010 alle ore 18.18.29
    Io ne ho... visti forum che voi umani non potreste immaginarvi... PhpBB3 in panne al largo dei database MySQL di Orione... E ho visto i TAG [B] balenare nel buio vicino al postreply di Tannhäuser.... E tutti quei... momenti andranno perduti nel tempo... Come... lacrime... nella pioggia... È tempo... di backuppare....

  19. #19
    Guest

    Predefinito

    In pratica faccio un file php, e con il comando include su index.php piazzo questa query, erro?

  20. #20
    L'avatar di silvermaledetto
    silvermaledetto non è connesso AlterGuru 2500
    Data registrazione
    01-03-2007
    Residenza
    Provincia di Modena
    Messaggi
    4,613

    Predefinito

    Questa è la prassi adottata dai migliori Moddatori, e per interventi sul database ti consiglio, come già scritto, di dare un'occhiata al progetto UMIL (Unified MOD Install Library)

    La tua modifica potrebbe diventare una MOD a tutti gli effetti.
    Ultima modifica di silvermaledetto : 04-08-2010 alle ore 08.19.50
    Io ne ho... visti forum che voi umani non potreste immaginarvi... PhpBB3 in panne al largo dei database MySQL di Orione... E ho visto i TAG [B] balenare nel buio vicino al postreply di Tannhäuser.... E tutti quei... momenti andranno perduti nel tempo... Come... lacrime... nella pioggia... È tempo... di backuppare....

  21. #21
    Guest

    Predefinito

    Citazione Originalmente inviato da silvermaledetto Visualizza messaggio
    Questa è la prassi adottata dai migliori Moddatori, e per interventi sul database ti consiglio, come già scritto, di dare un'occhiata al progetto UMIL (Unified MOD Install Library)

    La tua modifica potrebbe diventare una MOD a tutti gli effetti.
    Intrigante!
    Mi metto al lavoro allora =)
    Grazie mille a tutti, siete delle guide viventi ^^

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •