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

    LEVARE allocazione automatica di $_GET e $_POST

    Salve... ho notato che se richiamo un file php cosi':

    index.php?pippo=ciao

    All'interno del file se faccio un echo di $pippo, ci trovo "ciao".

    Questo mi causa gravissimi problemi di sicurezza... infatti se voglio rendere sicura una pagina (inclusa con l'include) devo costantemente fare query al database perche'....

    Se qualcuno aprisse la pagina query.php
    Che e' inclusa in index.php...

    Devo mettere i controlli del login effettuato sia in query.php .... sia in index.php... perche' metti caso che uno prova ad aprire query.php... saltera' gli eventuali controlli di sicurezza.

    Questo problema diventa grande, appunto, quando $_GET e $_POST vengono automaticamente variabilizzate...

    Ora come ora se uno mi apre questo link:
    query.php?loggato=true

    Anche se non e' loggato con nome e password passa i controlli di sicurezza....

    Come posso fare?
    -_-"

  2. #2
    Non ci ho capito granche' ma il succo forse si...

    Usa sempre register_globals in OFF.
    I dati li estrai con $GET['var'] / $_POST['var']

    Possono mettere tutti i login= true, ma se tu non utilizzi login = true chissenefrega ....

    Non banalizzare i login con un true o false nell'URL per definire loggato o meno uno user. Usa le sessioni. E nella sessione lascia ai polli fare la variabile $_SESSION['login'] = TRUE... scrivici il nome della morosa invece di TRUE che e' meglio.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Io non parlo solo del login ma di MOLTE variabili che possono essere inserite in qualsiasi pagina php tramite il get.... anche se uno non lo vuole.....

    Il register globals dubito ci sia su altervista.... e se c'e' come lo levo io?

    Vorrei risolvere sta cosa altrimenti devo fare controlli per ogni pagina....
    -_-"

  4. #4
    Ho una pagina:

    servizi.php

    Che include varie pagine in base alla variabile $servizio

    servizi.php?servizio=lista

    include lista.php

    Ovviamente la cosa dev'essere sicura... ci sono svariate variabili di controllo.

    I controlli potrei metterli solo su servizi.php se riuscissi a evitare che la gente, trovando il link di lista.php, ci sbatta dentro qualsiasi variabile....

    E' assurdo che se uno mi apre il file lista.php?qualcosa=qualcos'altro mi si sputtani tutto l'algoritmo... devo programmare le pagine in modo completamente diverso...

    Non si puo' disabilitare sto autocasting del $_GET ?
    -_-"

  5. #5
    E' questo che non capisco. Possono inserire tutto quello che vogliono. tu prelevi solo quello che ti pare.

    Dove il problema?

    Per quanto riguarda i controlli questi debbono essere fatti comunque.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    E' questo che non capisco. Possono inserire tutto quello che vogliono. tu prelevi solo quello che ti pare.
    Certo, molto sicuro

    Devo controllare che ogni variabile non sia stata 'manomessa'.

    Credo evitero' gli include del file $funzione.".php" e faro' un grande case con tutte le pagine del sito al suo interno.

    E' na cosa abbastanza stupida e che volevo evitare... ma se non c'e' altro modo....
    -_-"

  7. #7
    Per aumentare la sicurezza degli script conviene effettuare l'inizializzazione delle variabili, un po' come si deve fare in altri linguaggi.

    $intero = 0;
    $stringa = '';
    $array = array();

    e poi fai tutto quello che vuoi. Questo per le variabili che devono nascere nello script. Nel caso invece di dati provenienti dall'utente devi semplicemente fare i soliti controlli...

    'na botte de fero!


  8. #8
    Ciao,

    i file di inclusione non devo essere raggiungibili direttamente via browser.
    Inseriscili in una directory esterna alla documentRoot o protetta (attraverso i settaggi di apache) dall'accesso diretto http.

    Altra soluzione, mettere nei file da includere

    if(__FILE__ == $_SERVER['SCRIPT_FILENAME'])
    {
    exit('Vietato accedere direttamente al file') ;
    }
    per favore NIENTE PVT TECNICI da sconosciuti

  9. #9
    Rispondo a entrambi... Gianni e Fabio....

    Quello che dice Gianni e' giusto eppure non mi va bene, io includo dei piccoli script ok?
    Che rappresentano delle pagine...

    Per controllare che l'utente le abbia raggiunte correttamente (e non aprendo il link della pagina diretta) potrei far si che l'includer abbia una certa variabile e potrei ricontrollarla all'inizio dei file da includere....

    Invece non posso perche' uno puo' scrivere su $pippo anche se io non voglio.

    Vabbe'...

    Allora la soluzione di Fabio parrebbe definitiva.... ma sono su Altervista e non ho delle non-document-root.

    Se provo a chmoddare i file a 660 o qualsiasi cosa non pubblica, mi risponde come se fossi un cretino "no guarda... NON SERVE, ogni file su altervista e' gia' come se fosse chmod 666"

    Bah... ?
    -_-"

  10. #10
    Hai visto la soluzione PHP che ti ho proposto?
    per favore NIENTE PVT TECNICI da sconosciuti

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.