Visualizzazione risultati 1 fino 11 di 11

Discussione: [php] sicurezza con $_GET

  1. #1
    Guest

    Predefinito [php] sicurezza con $_GET

    salve,
    usando il metodo GET quali pericoli si possono correre?
    come fare per evitare questi pericoli ?
    io uso questa cosa ( forse non efficace )
    Codice PHP:
    $pagina=$_GET['pagina'];
    $possibili_pagine= array('pagina','pagina1','pagina2');
    if(
    in_array($pagina,$possibili_pagine)){
    $ok=true;}else{$ok=false;}
    if(
    $ok){echo"pagina esistente";}else{echo"pagina non esistente";}
    avete consigli ?

    grazie in anticipo
    Ultima modifica di babilonia6 : 16-04-2009 alle ore 19.03.07

  2. #2
    Guest

    Predefinito

    Come metodo il tuo è molto sicuro! Se la variabile che passi è un numero potresti anche forzare la stringa ad essere un numero..
    Ad esempio:
    Codice PHP:
    $id = (int)$_GET['id'];
    Se non viene inserito un numero $id vale 0.

  3. #3
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Hai gia fatto un buon lavoro, usando in_array scongiuri ogni rischio di LFI :)
    Consigli? Bhè, Non ho capito perchè fare due if che ritornano sicuramente lo stesso valore: prima verifichi che $pagina sia nell'array e assegni un valore booleano a $ok, poi controlli il valore di quest'ultima variabile :S
    Ha poco senso, no?
    Poi per evitare di portarti dietro tutto il blocco else puoi chiamare exit() nell'if :)
    Codice PHP:
    $pagina=$_GET['pagina'];
    $possibili_pagine= array('pagina','pagina1','pagina2');

    if(!
    in_array($pagina,$possibili_pagine))
    exit(
    'pagina non esistente');

    // inizio codice da eseguire se $pagina è contenuto in $possibili_pagine
    EDIT - @nokiagames: e il senso quale sarebbe? Tanto verifica che $_GET['id'], indipendentemente dal tipo, sia contenuta nell'array...

    Ciao!
    Ultima modifica di programmazioned : 16-04-2009 alle ore 21.20.12

  4. #4
    Guest

    Predefinito

    grazie
    qualche altra dritta o va bene così ?

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da babilonia6 Visualizza messaggio
    grazie
    qualche altra dritta o va bene così ?
    Credo vada bene così pure io, io lo feci tempo fa, anche perchè io utilizzo alcune funzioni con cui dovrei stare attento, ma con questo metodo, di usare in_array() dovresti stare molto tranquillo

  6. #6
    Guest

    Predefinito

    ok, speriamo bene :D

  7. #7
    Guest

    Predefinito

    non per scoraggiarti, ma se uno vuole bucarti il sito, puoi mettere tutti i controlli che vuoi, ma se è uno in gamba lo fa (non dico deface, sarebbe un Accher ()), e ti spiegherà come evitare quel buco

  8. #8
    Guest

    Predefinito

    beh si ovvio , però ho visto siti bucati a causa di link in get , tramite qualche shell (se non erro) e ho chiesto qui ..

  9. #9
    Guest

    Predefinito

    Dipende anche da come è configurato il server, per esempio qui su Altervista l'include()di file esterni al sito dove si dovrebbe includere è bloccato, in poche parole puoi solo includere file locali

  10. #10
    Guest

    Predefinito

    si avevo letto su qualche post qui
    un'altra domandina , io passo delle info in get ( esempio: azione eseguita con successo) con urlencode() che poi metto nel link e lo stampo là dove serve , dovrei controllare anche quello ?

  11. #11
    Guest

    Predefinito

    Ti basta secondo me solo usare htmlentities() sulla variabile che ricavi via get

Regole di scrittura

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