Eine Verbindung zur einer MySQL Datenbank sicher herstellen?



  • @Swordfish sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    You really want the error buffer and read the message there as it pinpoints the problem slightly more.

    Schön das dort der Fehlerspeichert benannt ist, das hab ich auch lesen können, nur welcher Speicher ist gemeint und wie lese ich diesen aus?



  • https://curl.se/libcurl/c/CURLOPT_ERRORBUFFER.html

    Also ein bisschen eigeninitiative musst du schon an den tag legen, sonst wird das weder mit cURL, noch mit cpp was.



  • @Cardiac Danke für den Link, aber wie du im Ganze Thread lesen kannst, hab ich häufig vieles hier selbst gemacht. Ohne wirkliche Hilfe an Beispielen.
    Außer natürlich die Tipps zubekommen.

    Der Fehler ist jetzt:
    libcurl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - Die Sperrfunktion konnte keine Sperrprüfung für das Zertifikat durchführen.

    Es gibt einige Beiträge dazu, nur für mich nicht nützlich.



  • Probiers mal mit CURLSSLOPT_NO_REVOKE. https://curl.se/libcurl/c/CURLOPT_SSL_OPTIONS.html



  • @Swordfish sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    CURLSSLOPT_NO_REVOK

    Das hat super geklappt, danke dir. Ich bekomme eine Ausgabe die den Inhalt der Json ausgibt. Jetzt ist das aber so, das der ganze kram unformatiert, also ungeordnet ausgegeben wird:

    [{"id":1,"date":"2022-11-27T12:37:28","date_gmt":"2022-11-27T12:37:28","guid":{"rendered":"https:\/\/wordpressapi.ddev.site\/?p=1"},"modified":"2022-11-27T12:37:28","modified_gmt":"2022-11-27T12:37:28","slug":"hello-world","status":"publish","type":"post","link":"https:\/\/wordpressapi.ddev.site\/2022\/11\/27\/hello-world\/","title":{"rendered":"Hello world!"},"content":{"rendered":"\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
    

    Jetzt frage ich mich, ob man das ganze auch so anzeigen lassen kann, wie in Postmann:

    [
      {
        "id": 1,
        "date": "2022-11-27T12:37:28",
        "date_gmt": "2022-11-27T12:37:28",
        "guid": {
          "rendered": "https://wordpressapi.ddev.site/?p=1"
        },
        "modified": "2022-11-27T12:37:28",
        "modified_gmt": "2022-11-27T12:37:28",
        "slug": "hello-world",
        "status": "publish",
        "type": "post",
        "link": "https://wordpressapi.ddev.site/2022/11/27/hello-world/",
        "title": {
          "rendered": "Hello world!"
        },
        "content": {
          "rendered": "\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!</p>\n",
          "protected": false
    

    Ich weiß das die Ordnung für C++ nicht wichtig ist, nur finde ich das nicht gerade leserlich.

    Die Zweite frage: Ist das CURLOPT_SSL_OPTIONS, (long)CURLSSLOPT_ALLOW_BEAST | CURLSSLOPT_NO_REVOKE auch kein Problem, denn wie ich das verstanden habe, ist das unter Windows nicht anders zu umgehen. Allerdings legt der CURLSSLOPT_ALLOW_BEAST die Option: keine Umgehungslösungen für eine Sicherheitslücke in den Protokollen SSL3 und TLS1.0 zu verwenden fest. Was ja gut klingt oder hab ich das falsch verstanden?



  • @Lucius sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    Jetzt frage ich mich, ob man das ganze auch so anzeigen lassen kann

    https://www.example-code.com/cpp/json_pretty_print.asp

    ad 2: Ich hab keine ahnung von curl oder ssl. Aber Deine "Probleme" kann ich in < 2 Minuten googelei lösen. Lern recherchieren!



  • @Swordfish Tut mir leid, aber wenn du mir schon unterstellst, das ich nicht richtig Recherchiert habe, dann solltest du allerdings mir schon für die Richtige Lib den Link Schicken, nach Json zu Google und dann behaupten das du keine 2 min dafür gebraucht hast, ist schon eine Frechheit, des Weiteren geht es mir darum mit LibCurl dies zu sortieren und nicht mit Json und wenn du dich Genötigt fühlst mir helfen zu Wollen, dann überspring bitte meinen Beitrag / Fragen die dir nicht gefallen.

    Du kannst davon ausgehen, das ich jedes mal vorher nach allen Möglichkeiten Recherchiert habe, bevor ich hier rein Schreibe, ich dachte immer, das Foren genau auch dafür gedacht waren, Hilfe zu ersuchen. Achja, vielleicht sollte man sich auch mal die Frage stellen, das Einfänger nicht am Anfang wissen wonach Sie suchen müssen.

    Ich Zwing doch hier keinen mir zu Antworten oder mir zu Helfen, aber wenn man doch Vorschläge bekommt und diese nachgeht, dann ist das doch schon gut.
    Hilfe muss ich in einem Forum erwarten können, denn alles Recherchieren ist nur möglich wenn man auch weiß wonach.



  • Wie Du meinst.



  • @Lucius sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    des Weiteren geht es mir darum mit LibCurl dies zu sortieren und nicht mit Json und wenn du dich Genötigt fühlst mir helfen zu Wollen, dann überspring bitte meinen Beitrag / Fragen die dir nicht gefallen.

    Wie kommst du darauf dass einen formatierte Ausgabe (und nicht "sortiert") eines strings, welches json enthält, eine Aufgabe von LibCurl ist?

    Nur weil Postman das macht? Postman ist, sehr stark vereinfacht gesagt, nur eine UI, welche eine library für das HTTP Protokoll nutzt, und zusätzlich Features bietet um das Ergebnis eines HTTP Requests entsprechend "formartiert" darzustellen.

    Wenn die API das Ergebnis als JSON String liefert musst du den JSON string verarbeiten. Da ist längst die arbeit einer library, welche das HTTP Protokoll implementiert, beendet!

    Wenn du mit Postman einen request an einen Webserver absetzt, welches als ergebnis HTML code zurückliefert, dann stellt Postman diesen HTML Code so dar, wie es auch ein Webbrowser machen würde. Vermutlich aber so dass externe Ressourcen (wie z.b. Bilder) nicht nachgeladen werden.
    Ist das dieses Verhalten für dich dann auch etwas was Bestandteil einer Library ist, welche das HTTP Protokoll implementiert?

    Du hast echt ein Problem damit verschiedene Themen, die nichts miteinander zu tun haben, zu vermischen.

    Und wenn dich jemand darauf Hinweist wirst du pampig.
    Und da wunderst du dich wie einige hier Antworten?



  • @Lucius sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    Du kannst davon ausgehen, das ich jedes mal vorher nach allen Möglichkeiten Recherchiert habe, bevor ich hier rein Schreibe,

    Ganz sicher nicht.

    ich dachte immer, das Foren genau auch dafür gedacht waren, Hilfe zu ersuchen.

    Hier gibt's vor allem Hilfe zur Selbsthilfe, d.h. du musst auch selbst aktiv werden und mitdenken.

    Hilfe muss ich in einem Forum erwarten können,

    Ach ja, warum?



  • @firefly moin, ich bringe weder was durcheinander, Noch recherchiere ich nicht selbst. Ich finde es eine richtig große Anmaßung, hier jemanden zu unterstellen, der nicht versucht, seine Probleme selbst zu lösen.

    aber der Ton macht die Musik, man hätte mir auch ganz einfach mitteilen können, dass das über die LibCur nicht funktioniert. Ich bin davon ausgegangen das LibCurl sowas implementiert hat.

    Statt mir dann zu sagen, dass ich recherchieren lernen soll und dass man mein Problem in 2 Minuten gefunden hat.

    Ich hab es ja schon mal geschrieben: für ein Anfänger in einer neuen Programmiersprache, der vorher von c# kam, kann man doch nicht erwarten, dass der suchende direkt weiß, wo nachher suchen muss.

    Ich kann mich ja auch hinstellen und Klugscheißern. Aber wenn man sich mal daran zurück erinnert, wie man selbst angefangen hat, wäre es vielleicht viel einfacher auch Anfänger besser zu verstehen, warum sie solche Fragen in diesem Forum stellen, weil sie eventuell überfordert damit sind, die richtigen Lösungen darüber zu finden.

    @Tyrdal So, anscheinend haben viele Respekt und Freundlichkeit verlernt.

    https://www.woltlab.com/article/261-was-ist-ein-forum-einfach-erklärt/

    Ich kann dir natürlich nich andere Links posten, wenn die Quelle nicht ausreichend ist.

    @Allgemein:
    Diskriminierung gehören nicht in einem Forum. Das bezieht sich auf gewisse unterstellungen oder mutmaßungen die einfach nicht stimmen.

    Ich hab das Gefühl, dass hier im Forum gewisse Menschen einfach keine Lust mehr haben, wirklich richtig zu antworten.

    Wenn wir uns mal die ganze Beitragsliste angucken die nur hier in diesem Beitrag sind, dann stellt man fest das so viele Antworten so überflüssig waren, die nichts mehr mit dem Thema zu tun haben. Ich habe grundsätzlich nichts gegen Diskussionen, wenn es nicht ständig im offtopic betrieben wird.

    ich bin mir leider auch ehrlich nicht mehr sicher, ob ich hier in diesem Forum weitere Fragen stellen soll, ein gutes Gefühl habe ich derzeit nicht mehr hier meine Fragen ohne ständiges unterstellen, stellen zu können.

    Ich bin sehr dankbar dafür, dass diejenigen, die mir ernsthaft helfen wollten, auch geholfen haben und ich in Sachen C++ ein Riesen Schritt weiter bin…



  • @Lucius sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    @Tyrdal So, anscheinend haben viele Respekt und Freundlichkeit verlernt.

    https://www.woltlab.com/article/261-was-ist-ein-forum-einfach-erklärt/

    Ich kann dir natürlich nich andere Links posten, wenn die Quelle nicht ausreichend ist.

    Ich weiß was ein Forum ist. Hier ist aber niemand dein Angestellter und Support hast du auch nicht bezahlt. Von daher darfst du nichts erwarten!

    Die Leute sind mit dir hier sehr geduldig. Aber du bist recht beratungsresistent und das strengt dann an. Der Hinweis zum Doku lesen ist jedenfalls nicht besonders ernst genommen worden. Das hat auch nix mit der Sprache zu tun sondern eben mit Recherche.



  • Dann fang doch mal an konkrete fragen zu stellen, vielleicht bekommst du dann auch mal konkrete antworten.
    Die meisten ratschlaege scheinst du bislang gekonnt ignoriert zu haben, insofern ist es nur verstaendlich wenn keiner mehr lust hat weiter gegen die wand zu reden.



  • @Lucius Natürlich bringst du da was durcheinander. libcurl ist für den Transfer zuständig, nicht für pretty-print von JSON. Was übertragen wird kümmert libcurl nicht. Theoretisch würde libcurl natürlich auch niemand verbieten JSON Hilfsfunktionen mitzubringen. Tut sie aber nicht.

    Ich vermute dass Postman den JSON String auf hübsch formatiert, weil es so formatiert halt angenehmer zu lesen ist - und Postman ja schliesslich ein API Test Tool ist.

    Allerdings... wenn du mit JSON arbeiten willst, dann wirst du sowieso noch eine JSON Library brauchen. Die meisten JSON Libraries können auch "pretty print", d.h. wenn du die JSON Library mal eingebunden hast, dann kannst du das JSON auch schön formatiert ausgeben lassen wenn du willst.

    Re. CURLSSLOPT_ALLOW_BEAST | CURLSSLOPT_NO_REVOKE: ich würde es mal mit CURLSSLOPT_NATIVE_CA statt dessen versuchen.



  • @Tyrdal sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    Das hat auch nix mit der Sprache zu tun sondern eben mit Recherche.

    Naja, ich weiss nicht wie begrenzt seine Enlgisch-Fähigkeiten sind. Weil ganz ohne Englisch zu können ist es halt schon sehr schwer englische Doku zu lesen 🙂



  • @Lucius sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    @firefly @hustbaer Bis jetzt können nur einige Obfuscator .Net 6 und das auch nur, wenn man im Source einige Codes einfügt, damit der Obfuscator überhaupt mit .Net 6 Arbeiten kann. Und warum sollte ich Geld ausgeben? Normalerweise sollte das von MS ja grundverschleiert sein, schließlich wollen die ja auch das man C# nutzte.

    Du bist Anfänger, masst dir aber an abschätzen zu können wie wichtig/selbstverständlich bestimmte Features für C# sind. Das finde ich irgendwie drollig. Die meisten ernsthaften Entwickler interessiert es genau gar nicht ob man den von C# generierten Code irgendwier verhunzen kann oder nicht. Und die die es interessiert, sollen halt zahlen. Ich seh da jetzt kein Problem.

    Selbst im Dot Net Core, war dieses Problem da, obwohl das Net Core mehr für den Business Bereich war. Ich kenne einige Firmen die Software Technisch von C# aus diesen einen Grund weggegangen sind.

    Solche Fälle wird es sicher geben. Finde ich aber nen komischen Grund. Weil es ja wie gesagt durchaus Obfuskatoren gibt, falls man wirklich meint welche zu brauchen.

    Ich weiß das man die UIs befreien kann, aber muss das erst meine Aufgabe werden, wieso habe ich nicht die Wahl, ob ich für den Store entwickeln möchte, oder doch lieber Frei. 🤔

    Hast du doch eh...? Ich weiss nicht was dein Problem ist.

    Achja ein Thread hab ich auch schon erstellt 😊 So blöd läuft das ganze garnicht.

    Ich vermute dass du mit Threads noch mächtig auf die Nase fallen wirst.



  • @hustbaer sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    @Tyrdal sagte in Eine Verbindung zur einer MySQL Datenbank sicher herstellen?:

    Das hat auch nix mit der Sprache zu tun sondern eben mit Recherche.

    Naja, ich weiss nicht wie begrenzt seine Enlgisch-Fähigkeiten sind. Weil ganz ohne Englisch zu können ist es halt schon sehr schwer englische Doku zu lesen 🙂

    Da steckt ne gewisse Logik drin. Ich meinte aber die Programmiersprache, weil er ja immer betont von C# zu kommen. Aber auch dort muss man Dokus zu libs/assemblies lesen.



  • Moin Zusammen, Ich lerne 5 Sachen auf einmal,

    1. C++
    2. Externe Libraries zu verstehen. (Benutze ich nicht in PHP)
    3. HTTP Header und .Co (Intern von PHP aus, kein ding)
    4. Next API (Brauchte ich bisher nicht in PHP)
    5. Json (Brauchte ich bisher auch nicht in PHP)

    Dummerweise baut alles aufeinander auf.

    Mein English reicht schon aus, allerdings ist es nicht immer verständlich. In .Net sind die dinge wesentlich besser, nein anders Dokumentiert, allerdings muss man sich auch nicht um andere dinge noch kümmern. Seid mehr nicht Böse, aber C# ist keine wirkliche Sprache die man Ewig lang lernen muss. Die Lernkurve in C++ dagegen schon. Es gibt wesentlich mehr Tutorials, Kurse in Deutsch für C# als für C++. Und wenn man welche finde, dann meistens Grundlagen.

    Das mit dem Obfuscator habe ich eh aufgegeben. Mein Problem ist doch einfach der Umgang hier. Okay, das mit der LibCurl konnte ich nicht wissen, aber musste man so einen Blöd darstellen, nach dem Motto: Lerne Recherchieren und das habe ich in 2 min gefunden? Ich denke dafür steht dieses Forum nicht oder? Anderen Leuten/Anfänger fertig zu machen, weil Sie doch mehr Hilfe brauchen finde ich Unter aller Sau.? Für reine Selbsthilfe brauche ich ja kein Forum mehr. Oder wenn ich es Unpersönlich habe möchte, schreibe ich bei Stackoverflow.com rein.

    In C# hast du meistens die möglich entweder händisch die zu Sortieren oder wenn nicht, dann sucht man in der Framework nach Lösungen. Davon abgesehen, habe ich in C# keine externen Libs verwenden müssen.

    Ich bin Anfänger in C++, meine Hauptsprache sind PHP und C#. In PHP nutze keine externen Libs bzw. Frameworks. Ich bin ja deshalb eher dafür, alles selbst zu schreiben, damit wie schon erwähnt hatte, man sich nicht abhängig macht und sich nicht an den Luxus gewöhnt. Außerdem finde ich eigene Frameworks wesentlich besser.

    Über die Threads kann ich nur sagen, das ich darüber richtig Gute Kurse gefunden habe, die sogar auf Deutsch sind. Natürlich werde ich auf die Fresse fallen, aber meiner Meinung nach, lässt erst solche Probleme die Sprache einen richtig Lernen. Wenn man keine Fehler macht, lernt man auch nicht so gut.

    @Cardiac Ihr verlangt von mir ja das ich Richtig Recherchieren soll, dann kann ich auch verlangen, das man besser nachdenken soll. Denn meine frage wahr ja auf LibCurl bezogen. Hätte man mir dann einfach das gesagt, das dies in dieser Lib nicht funktioniert, dann wäre ich nochmal auf die Suche gegangen.

    Als Anfänger ist es ziemlich schwer, nach Lösungen zu Suchen, wenn man nicht weiß wo man suchen muss. DIe Dokus sind zwar toll, beschreiben mir aber weniger die Probleme. Die Fehlercodes sind auch nicht direkt hilfreich. Woher soll ich wissen, das ich noch was anderes Brauche um den Fehlerspeicher auszulesen.

    Auf CURLOPT_ERRORBUFFER wäre ich erstmal nicht gekommen, ich dachte ich hätte auch alles drin gehabt um den Fehler anzeigen zu lassen.



  • Ich benutze curl nur als CLI clientside test tool, und das selten. Den hinweis zum errorbuffer habe ich gefunden, als ich nach cpp curl read error buffer gegooglet habe. hat keine minute gedauert. alle informationen die du dazu benoetigt haettest um selbst auf den gedanken zu kommen hast du selbst hier gepostet.
    demenstsprechend sind die hinweise mit mangelnden recherchen durchaus angebracht und du solltest sie dir zu herzen nehmen, statt die beleidigte leberwurst zu spielen.

    Auf den teil mit "alles selbst bauen ist sowieso besser und lieber das rad 200x neu erfinden als 2 mal im monat nen changelog zu lesen und upgraden" gehe ich garnicht erst ein, ich glaube jeder in diesem forum wird dir diesbezueglich widersprechen. und das aus guten gruenden.

    Json ist text. Keine ahnung was man da alles verstehen muss, du brauchst parser und das wars. NextJS ist fuer deinen derzeitigen kenntnisstand vermutlich auch weit uebers ziel hinnaus, und deiner beschreibung nach zu urteilen brauchst du sowieso kein js frontend.

    Libraries zu verstehen ist eine sache, fuer den anfang reicht es in den meisten faellen erstmal nur die docs zu verstehen.



  • @Lucius
    Das alles auf einmal zu lernen ist halt auch wirklich ein bisschen viel. Dass du dabei keine Zeit hast dir alle Dinge in Ruhe anzusehen ist auch klar. Zumindest wenn du wie die meisten Leute bist, dann mindert es stark deine Bereitschaft Zeit zu investieren wenn etwas nicht auf den 1. oder spätestens 2. Versuch klappt. Dadurch stellst du dann hier Fragen, deren Antworten du dir wirklich mehr oder weniger leicht selbst erarbeiten/ergoogeln hättest können. Und das nervt dann halt ein wenig. Bzw. man fragt sich dann ob man seine Zeit dafür verwenden sollte jmd. zu helfen der sich zu viel auf einmal aufgetischt hat und dadurch jetzt "pfuscht". Das als Anzeichen dafür zu nehmen dass hier im Forum keiner bereit wäre zu helfen halte ich für einen Fehler.

    Natürlich werde ich auf die Fresse fallen, aber meiner Meinung nach, lässt erst solche Probleme die Sprache einen richtig Lernen. Wenn man keine Fehler macht, lernt man auch nicht so gut.

    Bei Threads ist halt das blöde dass du oft nicht merkst wenn du Fehler machst. Weil alles lange Zeit den Anschein macht zu funktionieren, bis dann irgendwann komische Dinge passieren. Ich kann dir nur raten Threads mit der nötigen Ruhe anzugehen. Da solltest du dir wirklich Zeit nehmen und dich ordentlich einlesen in das Thema bevor du damit anfängst.

    Seid mehr nicht Böse, aber C# ist keine wirkliche Sprache die man Ewig lang lernen muss. Die Lernkurve in C++ dagegen schon. Es gibt wesentlich mehr Tutorials, Kurse in Deutsch für C# als für C++. Und wenn man welche finde, dann meistens Grundlagen.

    Gerade dass...

    • C# vergleichsweise einfach für Anfänger ist
    • es wesentlich mehr Resourcen zum Lernen gibt
    • das .NET Framework wesentlich mehr mitbringt als die C++ Standard Library
    • es sehr viele einfach zu verwendende Zusatzbibliotheken gibt
    • Zusatzbibliotheken super-leicht einzubinden sind
      etc.

    ...sind die Gründe warum ich und andere dir empfohlen haben das erstmal mit C# zu machen 😉
    Also abgesehen davon dass du UI machen willst, und das in mit den diversen C# Libraries halt viel viel einfacher ist als mit C++.


Anmelden zum Antworten