Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    GET / POST e autenticazione

    Ho un'area protetta da pwd, l'utente si autentica ed entra nella pagina MENU dove sceglie quale mese visualizzare.

    Una volta scelto il mese va ad una pagina REPORT dove è riconosciuto il suo ID e sono visualizzati i suoi dati relativi a quel mese.

    Fin qui tutto bene!

    Però per tornare indietro alla pagina MENU uso GET ed ho questo codice:

    codice:
    menu.php?id=<?php echo $IDuser; ?>
    Così l'URL sarà: menu.php?id=4

    Problema: quando torna su MENU l'utente può cambiare il numero nella barra indirizzo e con refresh visualizzare i dati altrui!!

    Avete qualche suggerimento?
    Se passo il valore col POST sono + sicuro?





    grazie
    1,2,3,4,5,10,100 passi!

  2. #2
    Utente di HTML.it L'avatar di ric.cpp
    Registrato dal
    Sep 2004
    Messaggi
    171
    usa i cookie... non saranno il massimo della sicurezza ma almeno l'idi lo registri sul client e lo hai sempre disponibile in $_COOKIE

  3. #3
    ciao grazie, ho appena fatto una prova e funziona in parte!

    in pratica quando si autentica inserisco nel cookie il suo ID e nel file:

    include/autentication.php

    confronto che sia ugule all'ID che passo col GET. Se non è uguale lo butto fuori!

    Codice PHP:
    $p="";
            
    if(isset($_COOKIE["mioCookie"]))
        $p=$_COOKIE["mioCookie_p"];

    if($p!=$usr)    
    {
        ?>
        <script language=javascript> 
            alert("Utente non autorizzato");
            location.href="../login.php";
        </script>
        <?php
    }
    Funziona, però se cambio il valore e faccio refresh carica comunque il nominativo dell'altro utente anche se poi col SUBMIT gli impedisce di andare avanti!

    ok, questo è bene, però come posso impedire che venga visualizzato anche solo il nome dell'altro?


    ...probabilemnte devo controllare il cookie prima del submit... ora provo.


    1,2,3,4,5,10,100 passi!

  4. #4
    dunque al primo refresh visualizza l'altro utente, ma al secondo refresh si "accorge" che non è quello corretto e lo butta giustamente fuori!

    devo forzare il primo refresh!
    1,2,3,4,5,10,100 passi!

  5. #5
    Errata corrige: se faccio anche un solo refresh lo sbatte fuori!

    Invece se cambio il valore e poi premo INVIO allora visualizza erroneamente l'altro utente...



    any suggestions?
    1,2,3,4,5,10,100 passi!

  6. #6
    Utente di HTML.it L'avatar di ric.cpp
    Registrato dal
    Sep 2004
    Messaggi
    171
    quando inserisci un cookie il valore in $_COOKIE sarà disponibile dopo il refresh. per ovviare al problema, fai così:

    setcookie('nomevar', 'valore');
    $_COOKIE['nomevar'] = 'valore';

    adesso puoi fare i controlli senza refresh

    if($_COOKIE['nomevar']...

  7. #7
    [supersaibal]Originariamente inviato da ric.cpp
    quando inserisci un cookie il valore in $_COOKIE sarà disponibile dopo il refresh. per ovviare al problema, fai così:

    setcookie('nomevar', 'valore');
    $_COOKIE['nomevar'] = 'valore';

    adesso puoi fare i controlli senza refresh

    if($_COOKIE['nomevar']... [/supersaibal]
    scusa, non ho capito che differenza c'è con col codice che uso io:

    Codice PHP:
    setcookie("presenze_p","$utente_id"); 
    1,2,3,4,5,10,100 passi!

  8. #8
    Utente di HTML.it L'avatar di ric.cpp
    Registrato dal
    Sep 2004
    Messaggi
    171
    questa riga

    $_COOKIE['nomevar'] = 'valore';

  9. #9
    se la aggiungo non funziona proprio...
    ...cerco di capire perchè.

    Codice PHP:

    setcookie
    ('presenze_p''$utente_id'); 
    $_COOKIE['presenze_p'] = '$utente_id'
    1,2,3,4,5,10,100 passi!

  10. #10
    erano le virgolette, con le doppie funziona..
    Codice PHP:
            setcookie("presenze_p","$utente_id"); 
            
    $_COOKIE["presenze_p"] = "$utente_id"
    grazie mille!



    1,2,3,4,5,10,100 passi!

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.