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

    Sicurezza dati form paypal

    Salve, ho creato un sito di e-commerce dove si può pagare tramite il pulsante paypal. Ora, questo pulsante naturalmente si trova in un form, però chiunque smanetta un pò con la programmazione può copiarsi il codice html dall' apposita funzione "visualizza sorgente" del browser e metterci la somma che vuole. E' normale?

  2. #2
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Hai paura che ti diano troppi soldi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    No, vorrei solo la certezza di aver realizzato tutto con criterio e senza bug visto che non ho usato cms ed ho fatto tutto da solo , è la prima volta che mi cimento con un sito e-commerce.

  4. #4
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    stai tranquillo, è normale.

  5. #5
    Effettivamente anche io ho riscontrato questo problema.
    Se un cliente modifica l'importo non so a cosa potrei andare incontro, intanto controllo sempre i pagamenti ricevuti, ma se qualcuno dovesse avere difficoltà dovrebbe correre al riparo.
    Un modo per evitare di far conoscere il collegamento di paypal ad una persona ci sarebbe, è un sistema creato su due piedi, dovrebbe funzionare ma non ne ho la certezza.
    Nella pagina principale, con il pulsante di pagamento, si può settare una variabile di sessione con l'importo da pagare.
    Ricordo che la variabile di sessione può essere settata soltanto al caricamento della pagina quindi, quando la pagina è caricata, la variabile di sessione è stata già settata.
    Il pulsante paga adesso di paypal dovrebbe far riferimento ad una pagina php del tuo sito che chiamero pagina2.php.
    In questa pagina2.php recuperi la variabile di sessione con l'importo da pagare e fai un redirect in php a paypal utilizzando l'url di paypal con tutte le variabili di link settate.
    Una volta che la pagina paypal viene aperta, porta un indirizzo url incomprensibile, difficile da modificare.
    Se anche questo non vuoi vedere, basta aprire questa pagina in un popup senza url.
    Spero di essere stata chiara.
    Maria

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    ma quando parli di variabili di link settate ti riferisci al metodo GET? Poi non ho capito come fai il redirect visto che le variabili a paypal io le invio con il metodo SUBMIT

  7. #7
    Quando parlo di variabili di link mi riferisco a quelle settate nell'url tipo: http://miosito.it?primavariabile=val...riabile=valore

    Ti faccio un esempio elementare:
    codice:
    //questa è la pagina con il form
            session_start();
            $importopaypal = $_POST['importopaypal']; //recupera i dati dal form.
                if($importopaypal=="") //la prima volta che questa pagina viene caricata, questa variabile è vuota e viene mostrato il form
                  {
                    <form name='nomeform' method="post" action="stessapagina.php">
                    
                    <input type="text" name="importopaypal">
                    <input type='submit' value='    Invia    '> 
                    </form>
                    }
                else // quando viene richiamata la stessa pagina, la variabile $importopaypal non è più vuota ed esegue il prossimo codice
    	      {
                  $_SESSION['importopaypal'] = $_POST['importopaypal']; /setta la variabile di sessione con la somma da pagare per portarla alla prossima pagina
                  header("location:pagina2.php");  //redirect a pagina2.php
    	      }
                  
            //pagina2.php si occupa di elaborare l'importo
            $importopaypal = $_SESSION['importopaypal']; //recupera l'importo dalla variabile di sessione
            //la prossima riga è il link da settare per collegarti a paypal, ovviamente devi sostituire correttamente alcune cose ma credo che lo saprai fare.
            //quello che devi settare sono lo username del conto paypal, causaleimporto e totaledapagare, non credo mi sia sfuggito qualcosa.
            //header fa un redirect in php.
            header("location:https://www.paypal.com/cgi-bin/websc...NonHostedGuest");
            //se poi, vuoi fare di meglio, apri la pagina di paypal in un popup e togli anche l'url, così il visitatore a meno cose da vedere.

    In conclusione se vedi il codice sorgente della pagina con il form, non visualizzerai mail il collegamento a pagina2.php bensì alla stessa pagina; pagina2.php non viene scaricata nel computer del visitatore, viene elaborato tutto dal server che reindirizza il tutto a paypal, nessun codice sorgente può essere visualizzato.
    Ho fatto questo sistema con il login e funziona bene, prova anche tu e mi dirai.
    Qualche programmatore saprà fare certamente meglio ma in mancanza di consigli ci si può arrangiare con quello che ho scritto.
    Spero di essere stata abbastanza chiara.
    Ciao e buon lavoro.
    Maria

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Scusami ma tu tutte le variabili messe a disposizione da paypal le accodi col metodo GET tutte nella stringa header che contiene il link a paypal?

    Mi riverisco a variabili tipo amount, business, cmd,return, notify_url, currency_code ecc ...

    Tutte variabili che ho nel form, codice html prelevato dal sito di paypal in pratica ....

    Tra l'altro se ho capito bene non potrei neanche settare l'url IPN o sbaglio?

  9. #9
    Non sono esperta per cui non posso aiutarti molto.
    Non sò cosa significa IPN.
    Il codice che ti ho dato l'ho preso da paypal facendo delle prove di pagamento e sostituendo i dati che mi servono.
    Questo è il link:
    codice:
    <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=emailpaypal&lc=IT&item_name=causale&amount=costodapagare&currency_code=EUR&button_subtype=services&no_note=0&bn=PP%2dBuyNowBF%3abtn_buynowCC_LG%2egif%3aNonHostedGuest">
    all'interno del link ho messo le seguenti parole che vanno settate ossia:

    emailpaypal che corrisponde all'indirizzo mail del possessore del conto, va settato così:
    maria%40yahoo%2efr per indicare l'email maria@yahoo.fr

    causale che corrisponde al motivo del pagamento visualizzato in paypal, va settato così:
    Prenotazione%20soggiorno%20Ischia per indicare Prenotazione soggiorno Ischia (nota che gli spazi vengono sostituiti dal carattere %20

    costodapagare che corrisponde alla cifra che l'utente deve pagare, va settato così:
    10%2e20 per indicare euro 10,20

    Le altre variabili non li conosco e li rimango intatte.
    Ogni volta che un utente deve pagare un servizio, formatto la causale ed il costo da pagare come lo vuole paypal (l'e_mail no perchè sono sempre io ad incassare), li sostituisco nel link di cui sopra con l'istruzione str_replace e voilà, ho ottenuto l'url completo dei dati necessari per il pagamento su paypal.
    Se provi a settare manualmente quello che ti ho scritto sopra, inserisci l'url settato nel tuo browser, si apre la pagina di paypal pronta per il pagamento.
    Questo è un esempio, inseriscilo nel tuo browser e vedi se è ciò che mi stai chiedendo:
    L'ho già provato e funziona, mi sono arrivati già dei pagamenti.
    Come vedi non sono andata per le cose difficili.
    Fammi sapere se sono stata chiara.
    Ciao.
    M.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Il link funziona e ti ringrazio, però non ho capito perchè devi mettere i simboli"%" , io non li ho messi ed ha funzionato lo stesso, o non ho capito a cosa ti riferisci ancora ... A me è bastato mettere ad esempio l'indirizzo web con la "@" invece di "%40" e comunque si è aperta la pagina di paypal con il mio account.

    Tuttavia se da un lato mi garantisce la non visualizzazione del form con all'interno le variabili in chiaro di paypal, da un lato non mi permette di usare (poi non so se c'è altro sistema) la funzione ipn che non è altro che la possibilità di inviare un url (che setti sempre dentro il form di paypal) che verifica se il pagamento è stato effettuato dandoti poi la possibilità di interagire con il tuo database , ad esempio potresti aggiornare un campo dopo che il server ti assicura tramite proprio l'ipn che il pagamento è avvenuto.

    Un esempio di questo campo è questo che ti metto sotto, dove come vedi passo delle variabili, capirai che è difficile per quello che so aggiungerlo nell' url dell' header, insomma se non ho capito se da un lato guadagno qualcosa , dall'altra ne perdo un' altra:

    <input type="hidden" name="notify_url" value="http://www.xbetax.altervista.org/beta/ipn.php?email=<?php echo $email // email del cliente?>&nome=<?php echo $nomeCliente ?>&cognome=<?php echo $cognomeCliente ?>&univoco=<?php echo $univoco ?> ">

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.