Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Sichere Textabfrage im Internet

Frage Entwicklung VB for Applications

Mitglied: Alexss95

Alexss95 (Level 1) - Jetzt verbinden

14.10.2009 um 10:02 Uhr, 4114 Aufrufe, 10 Kommentare

Tag!

Also, nachdem ich also jetzt weiß, wie man eine fernümpftige aktivierung mit
einem Lizenzschlüssel hinbekommt, möchte ich jetzt noch eine Text-Abfrage
im Internet machen, also z.B.:

Nutzer gibt richtigen Lizenzschlüssel "2374973947" ein,
dann soll das Programm ins Internet gehen, auf meine Seite,
welche dann mit htaccess geschützt ist und sich dort anmelden.

Wenn es dort angemeldet ist, soll es überprüfen, ob der Schlüssel dort
registriert ist, wenn nicht, dann wird eine Fehlermeldung gezeigt.

Ist das zu realisieren?
Geht es auch einfacher?

Danke schonmal im Vorraus!

Gruß
Alexss95
Mitglied: H41mSh1C0R
14.10.2009 um 10:20 Uhr
moin,

Ich würde das Pferd wiefolgt aufziehen:

1. Programm Installation
2. Am Ende der Installation wird eine Mail an dich gesendet, mit Info's zu:
- Key 2)
- Benutzerangaben 2)
- Timestamp 1)
- generierten Hardwarestamp 3)
- Mail 2)
- Randsysteminfo's 1)

1) rein zu statistischen Zwecken
2) zum validieren benutzen
3) damit kannst du feststellen ob die Installation auf dem gleichen Rechner erfolgt oder auf unterschiedlichen

3. Benutzer bekommt eine Antwort auf seine Mail mit nem "Aktivierungskey"
4. Benutzer gibt den Aktivierungskey im Programm ein und dann wird der Status des
Programms auf Aktiviert gesetzt, sowohl in der Software als auch in der DB.

Bei jedem Update kannst du dann abgleichen ob die Aktivierungsranddaten mit denen der DB übereinstimmen. Stimmt eine Angabe nicht wird der Status im Programm wieder zurückgesetzt bzw. kommt alle 5min eine Meldung oder was weiß ich. xD Deiner Phantasie sind keine Grenzen gesetzt.

gruß
Bitte warten ..
Mitglied: Alexss95
14.10.2009 um 10:29 Uhr
Danke, für die schnelle Antwort!

Das ist ja alles schön und gut, mir aber zu kompliziert und außerdem bin ich dann mit meinem VB-Latein am Ende!

Ist es nicht ganz simpel wie oben beschrieben zu lösen?
Bitte warten ..
Mitglied: H41mSh1C0R
14.10.2009 um 10:37 Uhr
Das ist nicht die Bohne kompliziert, wenn du genau das machst so wie ich das beschrieben habe. Was musst du nun tun?:

- Suche dir ne Anleitung wie man z.B. HardwareIDs(Mainboard/CPU/HDD usw.) ermittelt mit VB
- Suche dir ne Anleitung wie man die Uhrzeit abfragt
- Suche dir ne Anleitung wie man ne Mail versenden kann

Wie du einen Key generierst weißt du mittlerweile, also:

1. generiere einen Key
2. bastel in dein Programm die Abfragen rein, und lass ne Mail versenden zum schluss
3. Bastel deinen ersten Keygenerator etwas um um einen Aktivierungskey zu erstellen(z.B. Input: Kundenmail + benutzen Key + Name --> Output: Aktivierungskey)
4. schicke diesen Aktivierungskey dem Empfänger
5. baue in deinem Programm eine Routine ein die den Status auf "aktiviert" setzt und die Benutzerdaten im Infobereich einträgt

Diese Vorgehensweise hat den Vorteil, das nur dann eine Aktivierung auf diesem Wege möglich ist, wenn die von dir vorgegebenen Randbedingungen erfüllt werden.

Möglichkeit 2:
1. Kunde fordert Key an mit (Kundenmail + benutzen Key + Name)
2. Du generierst aus diesen Sachen einen Key und sendest ihm den + Login für deine Webseite.
3. Dann trägst du die Randbedingungen + Key in deine DB.
4. Kunde installiert und am Ende gehts auf deine Webseite und du vergleichst die Eingegebenen Sachen mit deinen Eintragungen in der DB.

Sollte da was differieren --> *kawumm* "Key ungültig"
Bitte warten ..
Mitglied: Alexss95
14.10.2009 um 10:45 Uhr
OK!

Du hast recht, gar nicht so schwierig!

Also:

1. Lizenzschlüssel wird überprüft, wenn richtig dann:
2. E-Mail an mich mit Hardware-Infos und Schlüssel
3. Ich generiere dann einen zweiten Key, mit dem der User dann
das Proggi endgültig aktivieren kann.

So müsste gut funktionieren, Danke!

Gruß
Alexss95
Bitte warten ..
Mitglied: H41mSh1C0R
14.10.2009 um 10:53 Uhr
Im Grunde ist jeder Validierungsprozess umgehbar, aber je ausgefeilter er wird und je mehr Abläufe von unterschiedlichen Stellen notwendig sind, desto schwerer hats die Gegenseite. ^^

Ablauf für deine DB:

1. Kunde bekommt Proggy
2. Kunde bekommt Key (den kann man übrigens noch als Alleinstellungskriterium in die Generierung des Aktivationkey mit einbeziehen)
3. Kunde trägt Key ein und am Ende wird ne Mail versendet mit (den Randdaten die bei der Installation eingegeben worden sind + Key + Ids + Stamps usw.)
4. Daraus wird nen Aktivierungskey generiert
5. Kunde trägt den Key ein und bei Erfolg werden die entsprechenden Schalter im Programm gesetzt
6. nun kannst du noch ein eMail schicken "Aktivierung erfolgreich"
7. gleiche alle zusammengetragenen Daten zusammen und vergleiche, treten irgendwo ungereihmtheiten auf --> *kawumm* "Installation Ungültig" oder was auch immer
Bitte warten ..
Mitglied: maretz
14.10.2009 um 14:30 Uhr
Moin,

bei Punkt 3 schlägt z.B. McAfee zu und verbietet deinem Programm das direkte Versenden von Mails - päng!

Bei Punkt 3 schlägt der Datenschutz zu - da du die gesammelten Sys-Infos zur Auswertung, zur Lizenzkontrolle usw. verwendest (keine Zweckbindung!) -> päng!

Warum auch so kompliziert: Du übergibst einer PHP-Seite auf deinem Server den Key den der User zur Aktivierung eingegeben hat. Gleichzeitig liegt auf deinem Server in der DB eine Liste mit den gültigen Schlüsseln (oder ein Programm zur Errechnung der Schlüssel). Ist der Schlüssel gültig so gibt deine Seite einfach nen "Gültig" zurück - und deine DB speichert das Aktivierungsdatum. Liegt der Zeitraum zwischen 2 Aktivierungen unter Zeitraum X gibt es ein NOK zurück...

In deinem Programm brauchst du jetzt nurnoch dafür sorgen das bei der Aktivierung z.B. das OK mit dem Hash-Wert der Netzwerkkarten-MAC verschlüsselt wird und speicherst den Hash in ner Datei ab. Bei jedem Start machst du jetzt einfach eine Prüfung ob der Schlüssel noch mit dem in der Datei übereinstimmt.

Vorteil dabei: Es verlassen NIE persönliche Daten den Rechner des Anwenders...
Bitte warten ..
Mitglied: H41mSh1C0R
14.10.2009 um 15:36 Uhr
Zitat von maretz:
bei Punkt 3 schlägt z.B. McAfee zu und verbietet deinem Programm
das direkte Versenden von Mails - päng!

Das Programm versendet die Mail natürlich nicht selber sondern öffnet brav Outlook oder einen anderen Mailclient + Vorlage deiner Wahl und du darfst Sie versenden.

Zitat von maretz:
Bei Punkt 3 schlägt der Datenschutz zu - da du die gesammelten
Sys-Infos zur Auswertung, zur Lizenzkontrolle usw. verwendest (keine
Zweckbindung!) -> päng!

Was hier nicht zur debatte stand, aber um dem genüge zu tun muss der Kunde natürlich einen "bestimmten" Haken setzen wo er damit einverstanden ist .

Zitat von maretz:
Vorteil dabei: Es verlassen NIE persönliche Daten den Rechner
des Anwenders...

Das ist ein echter Vorteil =). Aber aus der Sicht des Entwicklers sind solche Datensammlungen immer nett
.
Bitte warten ..
Mitglied: Alexss95
14.10.2009 um 16:51 Uhr
Genau!

Ich mache einfach einen Hinweis, dass ich Computerspezifische
Daten an mich sende und das diese aber nicht an dritte weitergegeben werden. Peng!

Und fertig.

Ich bin gerade am rumbasteln, sieht aber schon recht gut aus!

Ich melde mich dann nochmal, wenn ich so weit bin.

Gruß
Alexss95
Bitte warten ..
Mitglied: Alexss95
14.10.2009 um 17:07 Uhr
Also, ich habe das jetzt getestet und es gibt keine Fehler.

Fast keine Fehler: Immer wenn er den Befehl .Send ausführen soll (für die E-Mail) dann kommt folgende Meldung:

Vorgang abgebrochen (Ausnahme von HRESULT: 0x80004004 (E_ABORT))

Was kann ich jetzt machen?

Gruß
Alexss95
Bitte warten ..
Mitglied: H41mSh1C0R
14.10.2009 um 17:23 Uhr
hmmm wie schon in dem anderen Thread, meine VB Zeit ist schon sehr lange her .

Code Snippet 1

01.
 
02.
    'Kontrolle ob Outlook schon offen, sonst mit Profil "#OFFLINE#" öffnen. 
03.
    Dim oApp As Outlook.Application 
04.
    Set oApp = GetObject(, "Outlook.Application") 
05.
 
06.
    If Err.Number = 0 Then      ' Outlook schon offen 
07.
        MsgBox "OL schon offen!" 
08.
        Exit Sub 
09.
    Else                        ' Outlook noch zu öffnen 
10.
        MsgBox "Öffne OL!" 
11.
        Dim oSess As Outlook.NameSpace 
12.
        Dim oFld As Outlook.MAPIFolder 
13.
        Dim oExpl As Outlook.Explorer 
14.
      
15.
        ' Logon 
16.
        Set oApp = New Outlook.Application 
17.
        Set oSess = oApp.GetNamespace("mapi") 
18.
        oSess.Logon "#OFFLINE#", , False, True 
19.
      
20.
        ' Ordner zur Anzeige auswählen 
21.
        Set oFld = oSess.GetDefaultFolder(olFolderInbox) 
22.
        Set oExpl = oApp.Explorers.Add(oFld) 
23.
        oExpl.Display 
24.
    End If  
25.
 
und weitergegoogelt.

Stichwort: MAPI

Code Snippet 2

01.
 
02.
MAPISession1.SignOn  					 
03.
MAPIMessages1.SessionID = MAPISession1.SessionID    	 
04.
 
05.
Mit Hilfe von der Befehlszeile ‚MAPIMessages1.Compose’ wird nun eine neue Mail verfasst. Dazu gehören dann die Befehle ‚MAPIMessages1.RecipDisplayName = empfänger@mail.com’, sowie ‚ MAPIMessages1.MsgSubject = „Betreff’, welche den Text für die Betreffzeile festlegt und schlussendlich noch der Befehl ‚MAPIMessages1.MsgNoteText = „Nachrichtentext“’, mit dem dann der Text für die Mail definiert wird. 
06.
 
07.
Schlussendlich kann dann durch den Befehl ‚MAPIMessages1.Send’ die Mail gesendet werden. Dazu muss allerdings Microsoft Outlook geöffnet sein und ein Benutzerkonto eingerichtet sein. 
08.
 
09.
Ein kleines Beispiel soll schlussendlich noch zum besseren Verständnis dienen: 
10.
 
11.
 
12.
Private Sub Form_Load() 
13.
    MAPISession1.SignOn 
14.
    MAPIMessages1.SessionID = MAPISession1.SessionID 
15.
    
16.
    MAPIMessages1.Compose 
17.
    MAPIMessages1.RecipDisplayName = “empfänger@mail.com” 
18.
    MAPIMessages1.MsgSubject = “Dies ist die Betreffzeile” 
19.
    MAPIMessages1.MsgNoteText = “Dies ist der Nachrichtentext” 
20.
    MAPIMessages1.ResolveName 
21.
    MAPIMessages1.Send 
22.
End Sub  
23.
 
24.
Natürlich können auch Dateianhänge mit Visual Basic verschickt werden. Dazu werden einfach noch folgende Zeilen Code eingefügt: 
25.
MAPIMessages1.AttachmentIndex = 0 
26.
MAPIMessages1.AttachmentPosition = 0 
27.
MAPIMessages1.AttachmentName = "Datei.doc" 
28.
MAPIMessages1.AttachmentPathName = "C:\datei.doc" 
29.
 
Ein Formular für die Eingabe der Daten -> OL öffnen -> und versenden =)

Nur am Rande:

Um es einfacher zugestalten wäre die eine oder andere Zeile Quelltext von deiner seite sinnvoll.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...