Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema php

  1. #1

    Problema php

    raga io ho un problema con un codice php che sarebbe qeusto

    <? if(!$fd){ include ("news.htm"); }
    elseif ($fd=="emulatori"){ include ("emulatori.htm"); }
    elseif ($fd=="canzoni"){ include ("canzoni.htm"); }
    elseif ($fd=="midi"){ include ("midi.htm"); }
    else { include ("$fd"); }?>
    volevo sapere se c'è un errore.
    Il codice lo potete vedere in questa pagina
    http://fd2xxxdownloads.altervista.org/index.php
    come vedete solo il link emulatori si ricarica nel riquadro giusto mentre invece le altre si caricano come se al link gli fosse stato dato il tag "_blank"

    S.O.S. Someone help me

  2. #2
    così su due piedi no trovo la differenza... (a parte cj non si comporta affato come blank.. semplicemnete sembra non mostrare iil resto della pagina o il foglio di stile...)

    ma di sicuro c'è una cosa sbagliata: non puoi includere una pagina html completa... che inizia con <html>.... se uardi il codice hai 2 <html> due <body> etc etc... quello è già di per se sbagliato... al apagina ch includi dovrebbe avere solo il codice che va messo nel punto idi inclusione.. non dev'essere una pagina html completa...

    magari questo infuisce sull'errore, anche se così su due piedi non l'ho beccato.. ma sta di sicuro nei sorgenti html.. ^_^

    Quando al php:

    else { include ("$fd"); }

    questo è pericolosso... se il safe mode è disattivato posso eseguire qualsiasi cosa all'interno del to sito così...

  3. #3
    scusa ma non ho capito

  4. #4
    Originariamente inviato da Dartfira
    scusa ma non ho capito
    bene, allora rileggi...


    almeno dicessi COSA non hai capito, uno prova a spiegarsi meglio....

  5. #5
    ora ho capito comunque la prima pagina la include

  6. #6
    Originariamente inviato da Dartfira
    ora ho capito comunque la prima pagina la include
    ti ripeto:

    ho guardato i sorgenti delle due pagine e non ho capito, così a prima vista, cosa può causare quella differenza....

    ma di sicuro è sbagliato quello che ti ho detto... quindi intanto correggi quello.. poi quando il codice è più pulito vedi... se fa ancora errori confronti i sorgenti html e valuti... sta sempre lì la soluzione quando ci sono problemi di visualizzazione/formattazione... se anche dipendono da un errore logico nel php (ma non sembra questo il caso)... te ene accorgi per qualcosa che non va nell'html...

  7. #7
    sono riusctio a risolvere il problema però volevo sapere come correggiere il problema per il safe mode

    Quando al php:

    else { include ("$fd"); }

    questo è pericolosso... se il safe mode è disattivato posso eseguire qualsiasi cosa all'interno del to sito così...

  8. #8
    devi fare dei controlli su $fd per essere sicuro che non venga modificato...

    un attaccante potrebbe modificarlo (anche s edifficile perchè php ptrende già contromisure di suo, s econfigurato opportunamente) e farlo puntare ad uno script su un suo server (attacco cross site) eseguendo il suo codice all'interno del tuo.. o potrebbe modificarlo per includere altri file sul tuo server...

    se nell'uso che ne fai tu $fd è nella stessa directory del file in cui si trova l'istruzione, fai così:

    $fd = basename($fd);

    così, qualsiasi cosa ci sia in $fd, viene considerato solo il nome del file e viene ricercato nella diirectory corrente

    Se il file che includi non si trova sempre nella stessa directory puoi fare altri controlli.. tipo verificare che non ci sia "http" all'inizio e che non salga di un livello (che non ci sia "../").. a meno che non serva a te... nel qual caso controli che non salga di due.. etc etc..

    insomma, dipenbde dalla situazione, puoi inventarti 10.000 controlli a seconda dell'uso che devi farne... quini vedi tu, l'impportante è che tu impedisca di fare qualcosa di diverso a quello che devi fare tu


  9. #9
    va bene grazie provvederò

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.