Lizenzsystem mit VB 2010, PHP und MySQLi

    • VB.NET

    Es gibt 81 Antworten in diesem Thema. Der letzte Beitrag () ist von Manawyrm.

      Wo hast Du denn $stmt deklariert?
      Bevor wir da aber nun weiter ansetzen und Du wieder nicht weiterkommst, macht das jetzt erstmal keinen Sinn. Ich war nur gestern zu sehr auf die Syntax fixiert, dass ich den Code selbst nicht weiter beachtet habe, was eventuell nicht ganz so klug war.

      Schau Dir mal generell die PHP-Syntax und dann speziell Prepared Statements mit bind_param, wie nikeee es vorgeschlagen hat, an. Damit kannst Du dann die Sachen binden und die Abfrage ausführen und bist schon gegen eine Art von Injection geschützt. Ich dachte eventuell erst, dass Du schon draufhingewiesen wurdest, aber so oder so sollte man's dann wirklich nochmal ausführlich raten, bevor es untergeht.
      Wenn Du das unbedingt nicht möchtest, was aber nicht zu empfehlen ist, dann kannst Du das auch mit mysqli weiterhin machen. Da musst Du aber natürlich auch unbedingt das Zeugs escapen, denn wenn da ; DROP DATABASE ... dranhängt, wird das ausgeführt und die Datenbank und alle Lizenzen sind weg. Außerdem musst Du aber betreffende Teile eh dann nochmal abändern, da z. B. das if ($update = mysqli_prepare(...)) immer ausführt, wenn Du dem was zuweist. if prüft auf ungleich null und es wird ja da initialisiert. Da hat's also an der Codelogik schon bisschen gehapert.
      Vergleiche in PHP gehen übrigens nicht wie in VB.NET, weil's mir danach aussieht, als hättest Du das irgendwie versucht. Dazu nutzt Du == bzw. wenn Du auch auf den selben Typen prüfen willst ===.

      So oder so kann man Lizenzsysteme in .NET ja leicht umgehen, von daher ist's eh Deine Entscheidung, ob Du's implementierst oder nicht. Ich finde da dennoch auch den Ansatz von nikeee mit RSA ganz ordentlich, auch wenn das natürlich ebenso umgehbar ist (daher der Satz drüber), da ich als Nutzer die Anwendung manipulieren kann.
      Ich kenne das Tutorial hier nicht, aber scheint auch nicht grade das aktuellste zu sein, wie man ja sieht. ;) Von daher würde ich, wenn ich sowas implementieren würde, zu anderen, moderneren Methoden greifen.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Trade“ ()