Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13

    cancellare elementi di una lista appartenenti ad un utente

    Ciao, nel mio sito l'utente può creare un utente può creare, editare e cancellare la lista dei suoi cd, la table è così composta:

    codice HTML:
    <table>
    <tr><td>N.</td><td>Nome artista</td><td>Nome album</td></tr>
    <tr><td>1</td><td>Led Zeppelin</td><td>Physical Graffiti</td><td><a href="cancella.php?id=2">cancella</a></td></tr>
    <tr><td>2</td><td>AC/DC</td><td>Back in black</td><td><a href="cancella.php?id=1">cancella</a></td></tr>
    </table>
    Analizzando solo il caso CANCELLA, di fianco ad ogni elemento c'è il link "cancella" che mi porta allo script cancella.php?id=***
    id è l'elemento del database da cancellare. Il problema è che a me questo approccio non sembra molto sicuro in quanto un malintenzionato può eseguire lo script cancella.php passando nell'url id a caso e cancellarmi elementi nel database.
    Spero di essermi spiegato.
    Qual è l'approccio migliore?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Chi sarebbe il malintenzionato?
    Se su quella pagina ci arrivi a seguito di un login, un malintenzionato dovrebbe loggarsi con l'account da attaccare e se uno ci riesce puoi inventarti quello che ti pare, ma può comunque cancellare tutto quello che vuole, quindi la soluzione del link con id appeso come parametro va bene.

    Sarà lo script che effettivamente elimina l'elemento nel db che dovrà verificare che l'elemento da cancellare appartenga ll'utente che lo richiede.

    Per intenderci, nella tabella sul db che contiene i CD suppongo che ci sarà un campo "id" e un campo "id_proprietario" oppure avrai una tabella che mette in relazione un cd e il proprietario, giusto? Bene, prima di effettuare la cancellazione vedi se l'id del proprietario del cd e l'id che c'è in sessione (id che metterai o hai già messo lì a seguito del login) coincidano.
    Se coincidono prosegui con la cancellazione, altrimenti qualcuno sta cercando di cancellare il cd di un altro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    13
    Sì chiarissimo, grazie!

Tag per questa discussione

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.