Oppure

Loading
22/05/14 14:22
Giulia006
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

 MsgBox(Attivazione(2, "Sono stati spediti il limite massimo di messaggi , acquistare un nuovo paccheto per continuare", False))

' 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 



        ' dichiara la variabile per accedere al servizio
        Dim MyService As ServiceReference1.ManageSmsClient = New ServiceReference1.ManageSmsClient()

        ' dichiara le variabili necessarie per l'invio sms
        Dim MyGroups(0) As String
        Dim MyRnd As New Random
        Dim MyResult As ServiceReference1.sendResponse

        ' dichiara l'array contenente i destinatari
        Dim MyMsisdn_array(0) As ServiceReference1.msisdn
        MyMsisdn_array(0) = New ServiceReference1.msisdn()
        MyMsisdn_array(0).customerId = "destinatario"
        MyMsisdn_array(0).number = txtDest.Text

        ' riempe la struttura necessaria richiesta dal metodo send()
        Dim MySendPayload As ServiceReference1.sendPayLoad = New ServiceReference1.sendPayLoad
        MySendPayload.username = "username"
        MySendPayload.password = "psw"
        MySendPayload.from = txtSender.Text
        MySendPayload.dateTime = ""
        MySendPayload.text = txtMessage.Text
        MySendPayload.groups = MyGroups
        MySendPayload.transactionId = MyRnd.Next()
        MySendPayload.numbers = MyMsisdn_array

        ' chiama il metodo send() del servizio
        MyResult = MyService.send(MySendPayload)
        MsgBox("spedito")
Ultima modifica effettuata da Giulia006 22/05/14 15:16
aaa
22/05/14 15:01
Thejuster
mire.forumfree.it/ - Mire Engine
C# UI Designer
22/05/14 15:15
Giulia006
ho chiesto un aiuto , non un progetto che già ho !
aaa
22/05/14 15:48
Roby94
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 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.
aaa
22/05/14 16:10
Giulia006
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 ;)

aaa
22/05/14 17:04
Roby94
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 ;)
aaa
24/05/14 6:31
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.
24/05/14 17:31
Roby94
Diciamo che più che debole ora come ora sembrerebbe inesistente. Aspettiamo che ci mostri un qualcosa di finito e si vedrà che aggiustamenti occorreranno.
aaa