Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Problema di sicurezza con gli include

    Ciao, ho un increscioso problema di sicurezza con uno script php...

    In pratica in un file (config.php) sono salvati nick e password per l'accesso, in tale modo:

    Codice PHP:
    <?php
    $nick 
    "pippo";
    $pass "123";
    ?>
    ma basta includere dall'esterno il file e stampare $pass per scoprire la variabile in questione!

    Come faccio ad effettuare un controllo sulle inclusioni? E se non si può fare ciò, come posso evitare il problema?

    Grazie ancora e scusate la mia niubbezza

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    se il file ha estensione .php nn dovresti correre pericoli, in quanto il codice al suo interno viene eseguito, ma non essendoli nessun tipo di output sul browser non compare niente.
    think simple think ringo

  3. #3
    Si, ma se viene incluso in un file che stampa la variabile $nick i problemi ci sono eccome... O no?

  4. #4
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    ma con include() posso includere anche pagine esterne al mio sito?

    warrior quel qualcuno deve sapere che esiste la variabile $pass!
    scegli un nome meno intuitivo...

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    http://php.libero.it/include/

    "Se "URL fopen wrappers" nel PHP sono abilitati (come nella configurazione di default), potete specificare il file da includere usando un URL (via HTTP) invece che un percorso locale. Se il server chiamato interpreta il file incluso come codice PHP, le variabili possono essere passate al file incluso usando una stringa di richiesta URL come con l'utilizzo di HTTP GET. Non è proprio parlare della stessa cosa includere il file e averlo ereditato dallo scope di variabili del file chiamante; lo script è stato attualmente eseguito su un server remoto e il risultato è poi stato incluso nello script locale."
    think simple think ringo

  6. #6
    Originariamente inviato da marketto
    http://php.libero.it/include/

    "Se "URL fopen wrappers" nel PHP sono abilitati (come nella configurazione di default), potete specificare il file da includere usando un URL (via HTTP) invece che un percorso locale. Se il server chiamato interpreta il file incluso come codice PHP, le variabili possono essere passate al file incluso usando una stringa di richiesta URL come con l'utilizzo di HTTP GET. Non è proprio parlare della stessa cosa includere il file e averlo ereditato dallo scope di variabili del file chiamante; lo script è stato attualmente eseguito su un server remoto e il risultato è poi stato incluso nello script locale."
    Scusa ma non ho ben capito da "Se il server chiamato" in poi

    ma con include() posso includere anche pagine esterne al mio sito?

    warrior quel qualcuno deve sapere che esiste la variabile $pass!
    scegli un nome meno intuitivo...
    Eh ma in un CMS OpenSource non è proprio semplice...

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    la cosa importante è questa:
    "lo script è stato attualmente eseguito su un server remoto e il risultato è poi stato incluso nello script locale."

    quindi se nel tuo file config.php nn metti nessun echo, qnd includi il file da un'altro webserver includi i risultati, ma non avendo risultati non avrai nessun tipo di inclusione.
    think simple think ringo

  8. #8
    Ahhhhhhh, perfetto, ora ho capito :sexpulp:

    Grazie mille!!

  9. #9
    scusa ma uno come fa a sapere che proprio in quella pagina ci sono quelle variabili?

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.