Autore Topic: Sistema di download sicuro  (Letto 2661 volte)

erikthered65

  • Nuovo arrivato
  • *
  • Post: 3
Sistema di download sicuro
« il: 11 Febbraio, 2012, 21:09:13 »
Ciao a tutti, volevo porre una domanda tecnica di programmazione PHP su website x5 ver. 9

ho implementato una routine php che genera una password casuale per l'accesso ad una pagina di download protetta.
ho dovuto farlo all'interno del file x5engine.php (perchè è qui che viene elaborata la spedizione della email di conferma pagamento) per legare il codice creato ad ognuno dei prodotti ordinati (ebook, software). In pratica creo un file di autorizzazioni aggiuntive (che si mappano su quelle originali create da website x5) e, una volta che le autorizzazioni sono state usate, viene cancellato.

Tutto ciò perchè cercavo un sistema sicuro: volevo che non fosse possibile passare l'account a terze persone ed accedere per scaricare più copie del materiale acquistato.

funziona perfettamente solo che non va la prima volta che viene utilizzato...dalla seconda tutto ok.
c'è qualcuno che sa spiegarmi perchè o, darmi un sistema alternativo per fare la stessa cosa ma che funzioni...

x5engine code chunk
Codice:
Only registered users can see contents. Please click here to Register or Login.
access.inc.php
Codice:
Only registered users can see contents. Please click here to Register or Login.

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:Sistema di download sicuro
« Risposta #1 il: 12 Febbraio, 2012, 22:49:36 »
Ciao,

 ... incomincio a risponderti io (... prendi quanto scrivo con le pinze perchè esperta non sono).

Dici che il codice non funziona la prima volta che viene utilizzato ... in che senso? Non viene mandata la mail, non viene generata la password, o non viene riconosciuto l'accesso alle pagine protette?

Rispetto al codice questo è quello che vedo:
Qui ci dovrebbe essere, penso, un ritorno a capo:

write($myfile,"<?php\n");

Poi ... non è necessario un controllo (sempre nel file auth.soft.php) nel caso in cui uno dei due array che unisci con la funzione array_merge non esista? O non è prevista la possibilità di acquisto di un solo prodotto?

E una cosa che invece non ho proprio capito: ogni volta che viene effettuato un nuovo ordine viene riscritto il file dei permessi ... ma come puoi essere sicuro che il cliente precedente abbia già effettuato l'accesso alle pagine protette per scaricare il prodotto?

erikthered65

  • Nuovo arrivato
  • *
  • Post: 3
Re:Sistema di download sicuro
« Risposta #2 il: 13 Febbraio, 2012, 00:27:12 »
Ciao,

 ... incomincio a risponderti io (... prendi quanto scrivo con le pinze perchè esperta non sono).

Dici che il codice non funziona la prima volta che viene utilizzato ... in che senso? Non viene mandata la mail, non viene generata la password, o non viene riconosciuto l'accesso alle pagine protette?

semplicemente nella mail spedita non ci sono dati.



Rispetto al codice questo è quello che vedo:
Qui ci dovrebbe essere, penso, un ritorno a capo:

write($myfile,"<?php\n");

Esatto, l'ho tolto perchè nel vostro visualizzatore di codice sballa un po' il listato perchè lo interpreta, in realtà c'è

Poi ... non è necessario un controllo (sempre nel file auth.soft.php) nel caso in cui uno dei due array che unisci con la funzione array_merge non esista? O non è prevista la possibilità di acquisto di un solo prodotto?

Ti posso assicurare che funziona comunque anche con un solo prodotto ..... naturalmente la seconda volta!

E una cosa che invece non ho proprio capito: ogni volta che viene effettuato un nuovo ordine viene riscritto il file dei permessi ... ma come puoi essere sicuro che il cliente precedente abbia già effettuato l'accesso alle pagine protette per scaricare il prodotto?

in realtà la procedura che te vedi è una procedura di prova nella quale ho messo "w", quando sarò riuscito a risolvere il problema farò l'append ("a") e semplicemente, quando l'utente scaricherà il file creerò un file di log dove scriverò chi ha scaricato i files ed a che ora, in seguito modificherò la password utilizzata per renderla inefficiente e usando il log periodicamente pulirò il file auth.soft.php dalle voci utilizzate.

Mi sto ingegnando perchè purtroppo in questo sistema non è previsto niente per chi deve vendere software o ebook e si sa che il cliente, una volta pagato, vuole subito quello che ha comprato (io però mi devo tutelare almeno dagli scarichi multipli per passaparola di user e password.

E' chiaro che se conoscete qualche meccanismo che fa quello che chiedo io senza durare tutta sta fatica a programmare ...... ditemelo per favore!!!

erikthered65

  • Nuovo arrivato
  • *
  • Post: 3
Re:Sistema di download sicuro
« Risposta #3 il: 26 Febbraio, 2012, 20:41:55 »
ok, grazie lo stesso, andrò su altri forum sperando che qualcuno mi risponda ...

tigrone

  • Anziani
  • Utente esperto
  • *
  • Post: 322
    • tuoweb
Re:Sistema di download sicuro
« Risposta #4 il: 27 Febbraio, 2012, 11:40:29 »
ok, grazie lo stesso, andrò su altri forum sperando che qualcuno mi risponda ...
Sarà dura...!


Sai, non è difficile programmare una cosa del genere (bastano poche righe di codice con un db)... il difficile sta nel fatto di volerlo fare con website...!
Non è mica facile entrare nella testa di altri programmatori (in questo caso, quelli di icm) al fine di modificare un codice scritto da loro!
A mio parere è inutile fare o tentare di fare salti mortali... se l'esigenza che tu hai non è contemplata da evo... beh... forse è il caso di rivolgersi ad un altro software... oppure ad un buon libro!


P.S.: nel caso qualcuno su un altro lido ti risolva il problema (ne dubito) o se lo risolvessi tu stesso... fai attenzione... non fidarti... potrebbe funzionare bene da una parte e creare danni dall'altra.

serzio

  • Amministratore
  • Utente storico
  • *****
  • Post: 1706
Re:Sistema di download sicuro
« Risposta #5 il: 27 Febbraio, 2012, 23:11:49 »
Capisco il voler estendere le funzionalità di website, ma ... tu hai fatto una modifica all' x5engine.php e questo ha almeno tre problemi:
  • complicarsi la vita per capire per prima cosa come funziona il software già preparato, mentre credo che tu abbia conoscenze tali da poter realizzare in proprio quello che chiedi
  • la modifica a quel file svanisce alla prima esportazione oppure al primo aggiornamento di website
  • la possibilità che il sistema non funzioni correttamente. A modifiche di questo tipo, seguono spesso effetti collaterali che vanno verificati
Hai pensato ad un sistema tipo autoindex o gestine documentale? Io mi muoverei con codice riscritto da zero.