Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Help]Restringere accesso pagina php

    Salve a tutti,
    Oggi vi chiedo assistenza per un problemino che mi è sorto implementando nel mio sito web i pulsanti API di paypal e OneBip, che consentono di effettuare micropagamenti e accedere a servizi riservati.

    Cerco di spiegarmi in modo semplice:
    I servizi che gli utenti acquisteranno sono "monete virtuali" utilizzabili successivamente per ottenere oggetti virtuali sui loro account, o privilegi esclusivi.
    Gli account sono gestiti da un database mysql, che oltre ai diversi campi necessari all' autenticazione, contiene informazioni riguardo le monete virtuali disponibili, e quelle spese.
    In particolare le monete sono riportate in una colonna "cash" all' interno della tabella account, nel database account.

    Inserendo un pulsante di pagamento paypal, volevo arrivare ad automatizzare del tutto l' acquisto delle monete, senza rischiare comunque abusi o accessi non autorizzati. Il funzionamento del pulsante paypal è circa cosi:

    utente clicca sul pulsante pagamento nel mio sito --> viene reindirizzato su paypal dove si loggherà e completerà il pagamento (passaggi intuitivi) --> se il pagamento viene concluso con successo viene reindirizzato su un' altra pagina "notify.php" del mio sito web altrimenti verrà visualizzato un messaggio di errore di paypal.

    Ora, se io nel "notify.php" inserisco il codice necessario ad aggiornargli il campo "cash" sul database con una query che viene eseguita non appena si visualizza la pagina, c' è il rischio che chiunque accedendo a quella pagina riceva monete ad ogni accesso, anche se non proviene da paypal quindi non ha effettuato nessun pagamento.

    Come posso impostare una limitazione sul "notify.php" in modo tale da restringere l' accesso ai soli provenienti da paypal?

    Grazie in anticipo a chi saprà aiutarmi..
    B3S

  2. #2
    Non sono un esperto... ma con $_SERVER['HTTP_REFERER'] dovresti recuperare la pagina di provenienza... in questo modo puoi verificare se arrivano da paypal o no...

  3. #3
    se devi eseguire azioni conseguenti all'avvenuto pagamento, lascia perdere i bottoni standard i payapl e usa express checkout
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  4. #4
    intanto grazie a entrambi per le dritte.

    @dydale: mi sono informato sul referer, e a quanto pare sono poco sicuri e possono essere manipolati dal client. Per i pagamenti OneBip stop provando a seguire la loro integration guide (tutta in inglese ... ) e sono riuscito a mettere un check dell' hash md5 della pagina di provenienza. hash che viene generato dal mio account onebip in base ad una mia parola chiave inserita preventivamente. Il funzionamento l' ho capito.. è piuttosto lineare e semplice. La mia difficoltà maggiore è nel realizzare il codice.. non mastico molto il php penso si fosse capito

    @MicheleWT: riguardo paypal sto già usando i pulsanti express checkout, il problema è limitare la mia pagina di ritorno...ovvero lo script che gli assegnerà le monete virtuali acquistate tramite opportuna query di update sulla riga del loro account nel DB. Il problema è che se questa pagina contenente la query viene visualizzata senza passare per il pagamento.. ottengono monete gratis..

  5. #5
    [messaggio doppio]
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  6. #6
    se non mastichi php, dubito che tu abbia fatto una chiamata CURL interfacciandoti con le pai di paypal.

    in definita con express checkout prepari l'ordine, passi a paypal, autenticandoti, torni al sito, rivedi l'ordine e dal tuo sito effettui il pagamento. La pagina che effettua il pagamento se lo stato della transizione è positivo, può anche aggiornare il database.
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  7. #7
    al momento i pulsanti funzionano a "metà" nel senso che i pagamenti sono abilitati, ma per la consegna delle monete gli utenti mi devono mandare un ticket al mio servizio di supporto e gliele assegno manualmente sul database.
    Cercavo per l' appunto di automatizzare il tutto.. i pulsanti api di paypal da quello che ho capito funzionano come ho scritto nel primo post. Il blocco lo ho sulla mia pagina di ritorno.. vorrei riuscire a limitare l' accesso allo script che aggiorna il db assegnando le monete, ai soli utenti che hanno realmente completato il pagamento.. e tramite le guide di paypal si capisce ben poco

  8. #8
    tu usi quasi certamente i bottoni standard "paga adesso" , hai clicca sul link crea i bottoni ecc...vero? quello è il sistema di pagamento standard.

    paypal utilizza il pagamento standard, il sistema express checkout e il sistema checkout pro.

    ti consiglio di vedere express checkout, se vedi che non sei in grado da solo cerca un programmatore e metti mano al portafoglio.
    Se poi hai tempo di imparare tutto il necessario, la documentazione è ricca ma complessa e spesso poco chiara.

    sul sito paypal c'è anche un SDK da scaricare con esempi funzionanti.

    I bottoni standard sono purtroppo fortemente limitati e questi limiti emergono facilmente.

    ps: se ti servisse uno sviluppatore batti un colpo
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

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.