Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Creare un trial ? disattiva programma!!
Forum - C# / VB.NET - Creare un trial ? disattiva programma!!

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Giulia006 (Normal User)
Newbie


Messaggi: 5
Iscritto: 22/05/2014

Segnala al moderatore
Postato alle 16:22
Giovedì, 22/05/2014
Salve gente :))

Sto creando un Speditore di SMS ,
Come faccio a mettere un limite ? ovvero dopo 5 messaggi spediti , anche nella prossima apertura il programma non funziona .

il testo (sono stati spediti il limite , ecc) si attiva dopo che sono stati spediti 2 messaggi , vorrei che una volta che da quel messaggio non faccia spedire altri messaggi quindi che il codice sotto non venga attivato  ! , grazie


sto utilizzando questa dll

Imports TrialCounter.MainTrial


ecco il codice sorgente

Codice sorgente - presumibilmente VB.NET

  1. MsgBox(Attivazione(2, "Sono stati spediti il limite massimo di messaggi , acquistare un nuovo paccheto per continuare", False))
  2.  
  3. ' il testo sopra (sono stati spediti il limite , ecc) si attiva dopo che sono stati spediti 2 messaggi , vorrei che una volta che da quel messaggio non faccia spedire altri messaggi quindi che il codice sotto non venga attivato  ! , grazie
  4.  
  5.  
  6.  
  7.         ' dichiara la variabile per accedere al servizio
  8.         Dim MyService As ServiceReference1.ManageSmsClient = New ServiceReference1.ManageSmsClient()
  9.  
  10.         ' dichiara le variabili necessarie per l'invio sms
  11.         Dim MyGroups(0) As String
  12.         Dim MyRnd As New Random
  13.         Dim MyResult As ServiceReference1.sendResponse
  14.  
  15.         ' dichiara l'array contenente i destinatari
  16.         Dim MyMsisdn_array(0) As ServiceReference1.msisdn
  17.         MyMsisdn_array(0) = New ServiceReference1.msisdn()
  18.         MyMsisdn_array(0).customerId = "destinatario"
  19.         MyMsisdn_array(0).number = txtDest.Text
  20.  
  21.         ' riempe la struttura necessaria richiesta dal metodo send()
  22.         Dim MySendPayload As ServiceReference1.sendPayLoad = New ServiceReference1.sendPayLoad
  23.         MySendPayload.username = "username"
  24.         MySendPayload.password = "psw"
  25.         MySendPayload.from = txtSender.Text
  26.         MySendPayload.dateTime = ""
  27.         MySendPayload.text = txtMessage.Text
  28.         MySendPayload.groups = MyGroups
  29.         MySendPayload.transactionId = MyRnd.Next()
  30.         MySendPayload.numbers = MyMsisdn_array
  31.  
  32.         ' chiama il metodo send() del servizio
  33.         MyResult = MyService.send(MySendPayload)
  34.         MsgBox("spedito")


Ultima modifica effettuata da Giulia006 il 22/05/2014 alle 17:16
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:01
Giovedì, 22/05/2014


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Giulia006 (Normal User)
Newbie


Messaggi: 5
Iscritto: 22/05/2014

Segnala al moderatore
Postato alle 17:15
Giovedì, 22/05/2014
ho chiesto un aiuto , non un progetto che già ho !

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 17:48
Giovedì, 22/05/2014
La soluzione che cerchi tu non è di facile ideazione. Stai cercando di far girare un applicativo sulla macchina di una persona che fisicamente non conosci nemmeno, per tanto se vogliamo essere più possibilmente pragmatici, è lui che tiene il coltello dalla parte del manico. Mi spiego meglio; per cercare di imporre un limite ad una tua applicazione del genere, (puoi fare un azione un determinato numero di volte) dovresti salvare sulla macchina dove è in esecuzione il programma un contatore. Dato che sei in "Territorio nemico"(la macchina del fruitore del programma) questo individuo avrà uguali o maggiori permessi riservati alla tua applicazione, per tanto, ogni dato che tu andrai a scrivere potrà essere sovrascritto dall'utente stesso bypassando il tuo "controllo di sicurezza". (Es tu tieni il tuo conto nel file bla.txt arrivati al conteggio 5 l'utente prende e reimposta il conteggio a 0 o ancora più facilmente cancella in file bla.txt) Non a caso tecniche di anti-pirateria vengono studiate per mesi se non anni (voglio citare l'Ubisoft, che per questo inconveniente ha ritardato l'uscita di parecchi giochi per PC di diversi mesi).
Il gioco si riduce a una gara di astuzia tra il programmatore e l'utente, o se vogliamo stereotiparlo col nome di "cracker" (mi è sempre piaciuto come suona XD).
Per tanto dovrai ideare un sistema con informazioni adeguatamente cifrate, che lasceranno una difficile comprensione del modo in cui l'applicazione si comporta, "ahime"(si scrive cosi??) comunque facilmente bypassabile da un utente con un minimo di conoscenza di queste tecniche.
Il discorso, in ogni caso, si ribalta completamente se porti l'utente a dover combattere nel tuo territorio, esempio costringendolo ad un autenticazione su un server o direttamente ad interagire da esso attraverso pagine web(Voglio lasciare come esempio il rilascio recente di EveryCircuithttp://www.everycircuit.com/ per GC che eseguito direttamente da smartphone Android non presenta grandi difficoltà nel bypassare le sue restrizioni, ma con questa ultima release, agibile da PC direttamente sul loro server rende l'operazione impossibile.)

Spero di essere stato il più chiaro possibile, ti invito a porre qualche domanda, se ne riterrai utile un approfondimento di qualche caratteristica/argomento particolare.

PM Quote
Avatar
Giulia006 (Normal User)
Newbie


Messaggi: 5
Iscritto: 22/05/2014

Segnala al moderatore
Postato alle 18:10
Giovedì, 22/05/2014
Email e password vengono spediti via email ,
e vanno scritti tramite textbox , questi dati sono in una rete sicura , criptati , nessuno può scoprirli , ovviamente il codice è ancora da modificare , per usufruire della spedizione dei sms appunto serve essere connessi con i dati spediti via email ;)


PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 19:04
Giovedì, 22/05/2014
E allora la soluzione l'hai già creata tu! Implementa un dato che risiede sul tuo web server che non passera per l'applicazione ma che conteggi l'utilizzo di tale funzione e il gioco è fatto ;)

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 8:31
Sabato, 24/05/2014
A me sembra tutto molto debole.

Non ho capito ancora quali passi effettua il tuo programma all'apertura per controllare che il limite è stato superato.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 19:31
Sabato, 24/05/2014
Diciamo che più che debole ora come ora sembrerebbe inesistente. Aspettiamo che ci mostri un qualcosa di finito e si vedrà che aggiustamenti occorreranno.

PM Quote
Avatar
MpxOS (Normal User)
Newbie


Messaggi: 8
Iscritto: 20/04/2014

Segnala al moderatore
Postato alle 0:38
Mercoledì, 28/05/2014
Ciao, secondo me dovresti creare un impostazione di tipo integer e poi ecco il codice:
Codice sorgente - presumibilmente VB.NET

  1. If My.Settings.iniviati = 5 Then
  2.  
  3. MsgBox(Attivazione(2, "Sono stati spediti il limite massimo di messaggi , acquistare un nuovo paccheto per continuare", False))
  4.  Else
  5.         ' dichiara la variabile per accedere al servizio
  6.         Dim MyService As ServiceReference1.ManageSmsClient = New ServiceReference1.ManageSmsClient()
  7.  
  8.         ' dichiara le variabili necessarie per l'invio sms
  9.         Dim MyGroups(0) As String
  10.         Dim MyRnd As New Random
  11.         Dim MyResult As ServiceReference1.sendResponse
  12.  
  13.         ' dichiara l'array contenente i destinatari
  14.         Dim MyMsisdn_array(0) As ServiceReference1.msisdn
  15.         MyMsisdn_array(0) = New ServiceReference1.msisdn()
  16.         MyMsisdn_array(0).customerId = "destinatario"
  17.         MyMsisdn_array(0).number = txtDest.Text
  18.  
  19.         ' riempe la struttura necessaria richiesta dal metodo send()
  20.         Dim MySendPayload As ServiceReference1.sendPayLoad = New ServiceReference1.sendPayLoad
  21.         MySendPayload.username = "username"
  22.         MySendPayload.password = "psw"
  23.         MySendPayload.from = txtSender.Text
  24.         MySendPayload.dateTime = ""
  25.         MySendPayload.text = txtMessage.Text
  26.         MySendPayload.groups = MyGroups
  27.         MySendPayload.transactionId = MyRnd.Next()
  28.         MySendPayload.numbers = MyMsisdn_array
  29.  
  30.         ' chiama il metodo send() del servizio
  31.         MyResult = MyService.send(MySendPayload)
  32.         MsgBox("spedito")
  33. My.Settings.inviati = My.Settings.inviati +1
  34. End If



Non so se funziona comunque prova e fammi sapere.

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo