Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    escamotage per identificare che si proviene proprio da quella pagina

    ciao, in una pagina ho un link al cui click vado in un'altra pagina e passo in get un valore di una variabile che mi permette di fare un'operazione importante su un database (una delete di un record). Praticamente passo in get l'id del record che si è scelto di eliminare, vorrei quindi evitare che l'utente smanettone si vada ad aprire il codice html della pagina e veda url e parametro che passo, magari cambiando il parametro con un altro numero e cancellando un record che non deve essere cancellato..
    Vorrei insomma che per cancellare il record, l'utente provenga da quella determinata pagina e che abbia cliccato sul link specifico senza quindi andare a modificare l'url nella barra degli indirizzi a manina..
    Per quale escamotage potrei optare?

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Per un sistema a livello sicurezza accettabile ti consiglierei le sessioni. L'alternativa, non sempre affidabile, sarebbe $_SERVER['HTTP_REFERER'].

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da neida
    Per un sistema a livello sicurezza accettabile ti consiglierei le sessioni. L'alternativa, non sempre affidabile, sarebbe $_SERVER['HTTP_REFERER'].
    le sessioni già le utilizzo.. ho anche pensato di inviare l'id di sessione alla pagina di eliminazione.. per poi confrontare quello della querystring con quello reale.. ma che me ne faccio? l'utente smanettone apre il codice html, copia tutti i parametri (id che passo e session id) ed il gioco è fatto..

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Se fosse così semplice le sessioni non avrebbero motivo d'essere...

    ma poi scusa, utilizzando già le sessioni avrai anche un sistema di autenticazione, no? quindi facendo un controllo direttamente nella pagina in cui avviene la cancellazione del record che motivo hai di conoscere la pagina di provenienza che invia l'id del record da eliminare?

  5. #5

    Re: escamotage per identificare che si proviene proprio da quella pagina

    Originariamente inviato da dops
    vorrei quindi evitare che l'utente smanettone si vada ad aprire il codice html della pagina e veda url e parametro che passo, magari cambiando il parametro con un altro numero e cancellando un record che non deve essere cancellato..
    il "record che non deve essere cancellato" nel caso va protetto lato server, tramite sistemi di privilegi & similia, non certo in base alla pagina di provenienza.

    Se l'utente vuole cambiare l'url a mano affari suoi, come è ovvio che sia. Sta a te verificare che quello specifico utente possa cancellare quello specifico file.

  6. #6
    so che non è un metodo molto professionale (e magari questo post è dettato dal buon vino che c'era a tavola stasera) ma generare un codice (da passare anch'esso tramite GET) nella prima pagina e ricrearlo nella seconda? Un codice che non cambia in base al tempo o alla pagina ma che identifica univocamente l'utente... Tipo...
    Pagina1:
    Codice PHP:
    <?php
    $codice 
    md5(md5$ip $sid "dops"));
    ?>
    Pagina 2:
    Codice PHP:
    <?php
    if($_GET['codice'] == md5(md5$ip $sid "dops")))

    //delete record 
    }
    else echo 
    "What the fuck r u trying to do asshole?";
    ?>
    Ecco, magari cambia un po' i messaggi di errore o simili, però dovrebbe funzionare...

    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da neida
    Se fosse così semplice le sessioni non avrebbero motivo d'essere...

    ma poi scusa, utilizzando già le sessioni avrai anche un sistema di autenticazione, no? quindi facendo un controllo direttamente nella pagina in cui avviene la cancellazione del record che motivo hai di conoscere la pagina di provenienza che invia l'id del record da eliminare?
    è chiaro.. stò parlando di utenti smanettoni autenticati.. non tutti ci possono andare nella pagina di cancellazione dei dati..
    però vorrei evitare anche che l'utente autenticato smanettone non provenga dalla pagina che ho prefissato quella da cui deve provenire..

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da iraiscoming223
    so che non è un metodo molto professionale (e magari questo post è dettato dal buon vino che c'era a tavola stasera) ma generare un codice (da passare anch'esso tramite GET) nella prima pagina e ricrearlo nella seconda? Un codice che non cambia in base al tempo o alla pagina ma che identifica univocamente l'utente... Tipo...
    Pagina1:
    Codice PHP:
    <?php
    $codice 
    md5(md5$ip $sid "dops"));
    ?>
    Pagina 2:
    Codice PHP:
    <?php
    if($_GET['codice'] == md5(md5$ip $sid "dops")))

    //delete record 
    }
    else echo 
    "What the fuck r u trying to do asshole?";
    ?>
    Ecco, magari cambia un po' i messaggi di errore o simili, però dovrebbe funzionare...

    Probabilmente è colpa mia.. ma non riesco a capire il senso di questa cosa.. se l'utente smanettone prende il codice creato tramite md5 dal codice html, cosa che può fare benissimo con qualunque browser, e lo mette come parametro nell'url, non vedo la necessità di fare una cosa del genere.. però forse ho capito male io quello che intendevi..

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    mi è venuta in mente una cosa.. aggiungo un campo bool alla tabella, lo chiamo deleted e quindi non cancello il record quando qualcuno lo cancella.. in modo da tenere sempre sotto controllo chi ha cancellato quel record.. sicuramente comporta + fatica per me.. e + stress nel database.. ma considerando che in questa tabella ci andranno in media 1000 record l'anno.. non credo di fare uno sbaglio.. che ne pensate?

  10. #10
    si il tuo metodo funziona ma dopo 1000 cancellazioni hai il db pieno! :P
    Quello che dicevo io (scusa era il vino ieri sera eheh in effetti come l'avevo messo giù non serviva a una cippa) era di piazzarci in mezzo anche il record.. Ti rifaccio l'esempio:
    Codice PHP:
    <?php
    $codice 
    md5(md5$ip $sid $record_da_cancellare "dops"));
    ?>
    In questo modo se anche l'utente passa un numero a caso difficilmente riuscirà ad azzeccarne l'ashing...
    Ovviamente nell'altra pagina ricrei il $codice utilizzando, al posto di $record_da_cancellare, la variabile passata tramite $_GET...
    Non so se mi son spiegato....
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

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.