Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    [PayPal] Prevenire modifiche form da firebug.

    Buongiorno a tutti,

    scrivo questo thread in quanto ho constatato direttamente (e prima ancora letto in giro per il web) che il form di PayPal, quello non criptato, sarebbe modificabile attraverso Firebug.

    La domanda è scontata: come è possibile prevenire le modifiche al form (in particolare, alla value che riporta il prezzo finale da dover pagare poi nella pagina di PayPal) ?



    C'è una cosa da dire: non ditemi di integrare un BMe_non_so_che e non ditemi di crearmi un pulsante _s-xclick (encrypted) perchè non posso farlo: il valore del prezzo viene passato dinamicamente attraverso una variabile Php in questo modo:

    - Pagina con form (nome, cognome, ecc)
    - Invio dei dati (raccolta input/text in $_POST)
    - Oscuramento form iniziale e apertura modale con form PayPal e pulsante immagine "Conferma"
    ------------------------------------------------------------------------------------------

    Domanda alternativa: esiste un modo per verificare con Php se, al cliccare sull'immagine/tasto PayPal, la variabile "prezzo" è stata modificata?



    Grazie a tutti.

  2. #2
    è assolutamente inutile procedere in questo senso

    sarebbe invece molto meglio utilizzare le IPN (PayPal Instant Payment Notification) per controllare il pagamento!

    Ricevuta la richiesta, ti assicuri che l'importo pagato corrisponda effettivamente all'importo richiesto (puoi usare il campo custom per inserire un codice identificativo della sessione cosi da poter accedere al carrello)

    Nel momento in cui ricevi l'ipn, leggi il custom (un campo che puoi passare al form di paypal per riaverlo indietro con le ipn), prendi la sessione, leggi il contenuto del carrello della sessione, calcoli il totale considerando le varie spese accessorie (spedizione, assicurazione ed eventuale altro) e confronti gli importi ... se risulta valido confermi il pagamento per il carrello della sessione che hai ricevuto nel custom.

    Il tutto sta nel considerare affidabili i dati che ricevi dalla IPN, con questo sistema ti metti al sicuro perché se anche qualcuno modificasse il form per inviare un altro ID di sessione per avere l'importo variato, comunque, otterrebbe solamente la conferma dell'ordine di quel carrello

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Ciao daniele, buongiorno e grazie!

    Allora ti spiego la situazione:

    Gli utenti non avranno a che fare con un carrello e niente del genere.

    |--> Essi potranno effettuare "una scelta" e sulla base di questa, vedranno generarsi (attraverso Javascript) il prezzo da pagare, il quale al momento dell'invio, verrà immesso in una variabile Php.


    -------

    Per quanto riguarda il servizio IPN... ...ho paura... ...volevo implementarlo proprio per la sua efficacia (avvisi prima, durante e dopo)...ma...

    ...non ci sono riuscito

    Non ho capito la logica.
    Non ho capito dove mettere il codice (ad esempio quello proposto come esempio da PayPal).
    Non ho capito niente di niente.

    ..e mi serve.

    Potresti darmi qualche dritta?

    (Ti prego non indicarmi la Sandbox per i test, i link ai manuali perchè sono iscritto e ce li ho tutti!!)

    Ti ringrazio!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    E c'è da dire un'altra cosa. In questo mio sito non faccio uso di database.

    Significa che non posso integrare il servizio IPN oppure posso comunque?

  5. #5
    Allora, parto a rispondere all'ultima domanda: si, puoi usarlo, ma perdi molta della sua efficacia!

    Usare IPN richiede, fondamentalmente, 3 cose:
    - la possibilità di connettersi in HTTPS ad un indirizzo specifico tramite PHP, e questo al 99.99% si può fare
    - registrare le transazioni che arrivano tramite IPN per un motivo di sicurezza
    - verificare che il codice della transazione non si ripeta mai più di una volta (e qui il perché della seconda cosa)

    Ora, premesso che ci sono cento mila modi diversi di risolvere il problema senza database, ti sconsiglio di procedere in questo modo perché alternativamente dovresti gestire tutto su un file (o su più file per evitare operazioni contemporanee che scassino tutto)

    Almeno usi le sessioni (di php)?

    Se non usi quelle, devi comunque avere un sistema per conservare temporaneamente dei dati (in pratica quello che viene acquistato) da qualche parte ... in modo che questo dato non possa essere cambiato dall'esterno e possa essere usato per la verifica.

    Detto questo, a quest'indirizzo
    https://cms.paypal.com/cms_content/U...IPN_PHP_41.txt

    c'è il codice di esempio di paypal

    fondamentalmente devi fare, ne più ne meno, quello che c'è scritto qui dentro
    codice:
    if (strcmp ($res, "VERIFIED") == 0) {
    // check the payment_status is Completed
    // check that txn_id has not been previously processed
    // check that receiver_email is your Primary PayPal email
    // check that payment_amount/payment_currency are correct
    // process payment
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Ti ringrazio tantissimo per l'aiuto.

    Parto dicendoti che..

    ..SI, uso le sessioni.
    ..NO, il database è da escludere (devo studiarmi i linguaggi ancora ).


    Per essere precisi, nella pagina, nel momento in cui l'utente clicca sul pulsante "Invia", il mio script:

    - PRIMA invia tutti i dati digitati (nome, cognome, prezzo da pagare, E ANCHE l'id di sessione) via email a un mio indirizzo. (Questa la logica operativa dato che non uso DB)
    - DOPO visualizza tramite modale jQuery il form PayPal dove dovrà cliccare sull'immagine/pulsante per entrare nella pagina PayPal ed effettuare il pagamento

    Riguardo a:
    - registrare le transazioni che arrivano tramite IPN per un motivo di sicurezza ...

    ...premesso che ci sono cento mila modi diversi di risolvere il problema senza database...
    ..dico: potrei inviarmi sempre tramite email i dati della transazione (si può?).


    Per precisarti il punto a partire dal quale mi serve una mano leggi qui:

    http://forum.html.it/forum/showthrea...=&pagenumber=3



    Grazie grazie grazie!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.