Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 51
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96

    Sicurezza sito e-commerce

    Ciao a tutti, avrei bisogno di un consiglio visto che è la prima volta che realizzo in php un sito di e-commerce senza seguire una guida specifica e soprattutto senza usare cms.

    Per la realizzazzione del carrello ho usato le sessioni.

    Ora io non so se in termini di sicurezza ho omesso qualcosa e vorrei a tal proposito capire se ci sono da fare dei cambiamenti per evitare sorprese. L'unica cosa che ho fatto è un controllo sulla pagina che mi invia l'ordine nel database, in pratica se nella stessa sessione mi è già arrivato l'ordine nel database ma il cliente deve ancora pagare con la carta , non permetto di aggiornare la pagina (perchè il carrello a questo punto sarebbe vuoto) ,e nè di farne inviare un altro da un'altra finestra del browser, costringo il cliente a finire tutto il procedimento nella stessa finestra e se vuole creare un nuovo carrello, deve prima concludere quello precedente o almeno azzerare il carrello attuale.

    Non ho usato nessun sistema di crittografia e non so neache se sia il caso, perchè dovrebbe essere nel mio caso Paypal a usare sistemi di sicurezza penso.

    Come faccio a sapere se ho realizzato un sistema sicuro prima ancora che si passi il totale della somma del carrello a paypal?

    Se qualcuno vuol vedere online la bozza del progetto posso anche fornire l'url.

    Grazie.

  2. #2
    Ma guarda, a parole, non è facile capire come è stato realizzato!

    Considerando la sensibilità dei dati, rischi anche che magari completano l'ordine senza nemmeno pagare!

    Infatti più che del carrello, mi preoccuperei del ritorno da Paypal!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Addirittura? Io uso uno script ipn affinchè paypal mi avvisi che è stato pagato l'ordine. Dicono che è affidabile .......

  4. #4
    Se usi quella fornita da paypal non dovresti aver problemi.

    Ma qualche controllo lo farei lo stesso.

    Per quanto riguarda il carrello, io ti consiglierei di inserire il carrello nel DB.

    1) Ad ogni nuovo utente, appena inserisci un prodotto nel carrello, crei una variabile di sessione identificativa di quell'utente.
    2) Inserisci il prodotto nel carrello con riferimento a quell'utente.
    3) Ovviamente può cancellarlo dal carrello
    4) Può inserire quanti prodotti vuole
    5) Ad ogni nuovo prodotto controlli la variabile utente. Se settata aggiungi con la stessa sessione, se non settata, generi nuova variabile di sessione e inserisci

    Spero di essermi spiegato!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    112
    Io invece solitamente tengo in sessione tutto il carrello, lo sposto in db solo al momento del completamento dell'ordine. Chiaramente questa è una scelta di natura personale.

    Per quanto riguarda la sicurezza... è un discorso mooolto grande, e la tua richiesta è molto vaga.
    Come consiglio posso dirti di studiare molto bene i passaggi che portano l'utente dal carrello all'acquisto, e ad immagine ogni possibile imprevisto, specie quelli causati dagli utenti stessi: aggiornamento pagina, tasto torna indietro, cambio di valori nel form o nell'urle...

    Controlla oltretutto ad ogni passaggio la validità dei prezzi e delle disponibilità: se un utente impiega un'ora a completare l'acquisto, e nel frattempo qualcuno ha comprato l'ultimo pezzo disponibile dello stesso prodotto, o se il prezzo cambia (in virtù magari di una promozione che si esaurisce) è giusto che l'eccezione venga gestita e la procedura di acquisto bloccata segnalando il problema all'utente.

    Per quanto riguarda paypal non mi preoccuperei molto: l'integrazione è semplice e se non fai errori non avria problemi.

    Gabriele

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Io faccio come mxdesign, tengo il carrello nella sessione così come la somma totale che poi passo a paypal, preferisco così. Per quanto riguarda la sicurezza ho creato un sistema che una volta che l'utente finisce lo shopping e vuole pagare, non permetto il refresh della pagina (tra le tante cose potrebbe inviare lo stesso ordine più volte) o l'apertuta in una nuova finestra costrigendo a finire il procedimento di acquisto dalla finestra con cui ha iniziato altrimenti trova un messaggio di errore. Inoltre può tornare indietro solo durante lo shopping in quanto una volta compilato il form dei dati del cliente e cliccato sul pulsante acquista il carrello viene svuotato e mi arriva l'ordine nel database, di conseguenza se prova a tornare indietro trova il carrello vuoto. Se modificano poi l'url non otterrebbero poi nulla penso, in quanto non passo niente tramite get, solo via POST.

    Discorso diverso per le giacenze, problema che sto affrontando ora, sto pensando ad ogni pagina di fare un controllo sul database della quantità dell' articolo che si trova nel carrello, sia in fase di inserimento nel carrello che al checkout. Se ho difficoltà magari chiedo a voi.

  7. #7
    Stai attendo ad affidarti ciecamente ai POST...Non ci vuole molto a fare una pagina "FINTA" che punta ad un certo indirizzo, e "FREGARE" lo script

    Non sto dicendo "Rifai il carrello", sto solo dicendo di stare attento nella strutturazione del tutto

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Mi faresti un esempio più pratico di pagina finta, così posso capire se ho una vulnerabilità?

    Comunque se usassi un certificato ssl nella fase di acquisto prima di arrivare a paypal i rischi forse non ci sarebbero più .....o sbaglio?

  9. #9
    Ipotizzando che nella tua pagina hai per esempio:

    Codice PHP:
    if(isset($_POST['carrello))
    {
        $_SESSION['
    prodotto']=$_POST['id_prodotto'];

    E ovviamente dal form del carrello riesco a risalire ai nomi delle variabili, posso benissimo fare un form fittizzio, con il nome delle variabili che utilizzi tu, e far arrivare la richiesta, invece che dal sito, da un posto X su internet!

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    112
    Concordo,
    diffida di variabili post ed esegui ad ogni passocontrolli su:

    - reale esistenza del prodotto
    - reale disponibilità del prodotto
    - coerenza nel prezzo
    - coerenza nei dati dell'utente

    Gabriele

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.