Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Jack_AI
Thema: Packet Sniffer zeigt meine DB-Anfragen an
Am im Forum: Datentechnologien

Für alle, die es interessiert:

Ich habe mich seit meinem letzten Post hier intensiv mit OpenSSL beschäftigt. Bis jetzt habe ich nicht herausfinden können, ob OpenSSL überhaupt mit C# kompatibel ist (ich fürchte aber nein), geschweige denn, wie man es in eine eigene Anwendung integriert. OpenSSL ist, meiner Meinung nach, alles andere als anfängerfreundlich und ebenso wenig gut dokumentiert. Ich könnte mich noch Stunden damit beschäftigen... würde dann aber wahrscheinlich noch immer nicht wissen, ob es überhaupt für mein Programm geeignet ist.

Fazit: Anfänger, Finger weg von OpenSSL!

Folglich bin ich nun auf der Suche nach einer anderen, anfängergerechten Möglichkeit, meine Datenbank-Anfragen zu verschlüsseln. Für Hinweise wäre ich sehr verbunden! (edit: Ich habe auch ein Buch zu dem Thema überflogen, Network Security with OpenSSL, dort steht, eine eigene Verschlüsselung ist NICHT zu empfehlen, da selbst Kryptographie-Experten Schlupflöcher in ihrem Sourcecode übersehen)

Danke,
Jack

Thema: Packet Sniffer zeigt meine DB-Anfragen an
Am im Forum: Datentechnologien

Zitat
Warum überspringst du nicht:
Zitat
PHP-Skript übergibt DB-Ergebnis (verschlüsselt) an öffentlichen Webspace
Programm holt das DB-Ergebnis (verschlüsselt) vom Webspace
und liesst das verschlüsstel DB Verzeichniss dirket aus ?

lg

Hallo lg,

da habe ich mir wohl nicht genau ausgedrückt. Ich meinte, dass das PHP-Skript direkt hintereinander die Anfrage sendet, das Ergebnis verschlüsselt und ausgibt. Also, mit öffentlichem Webspace meinte ich die PHP-Ausgabe (dann in HTML-Form), die anschließend vom Programm ausgelesen wird. Gibt es ansonsten etwas an der Idee auszusetzen?

Jack

edit:
Mir ist doch ein Problem dabei aufgefallen: Wenn ich in kurzer Zeit zwei Datenbank-Anfragen verarbeiten muss, kommt das PHP-Skript wahrscheinlich nicht hinterher und gibt mir entweder eine veraltete Anfrage aus oder bricht eine Anfrage zuvor ab. Hach, ist das alles kompliziert! Ich gebe die Hoffnung nicht auf, dass hier vielleicht doch jemand etwas Ahnung davon hat, wie man OpenSSL bedient.

Jack²

Thema: Packet Sniffer zeigt meine DB-Anfragen an
Am im Forum: Datentechnologien

Zitat
Original von Cookiie
Wobei ich da eh zu bedenken gebe das es nie gut ist wenn die DB direkt aus dem Netz heraus ansprechbar ist. Wenn das möglich ist würde ich da noch nen Programm dazwischen hängen, welches die Kommunikation übernimmt und die Anfragen an die DB weiterleitet.

Hallo Cookiie,

das hat mich widerum auch auf eine Idee gebracht. Ich könnte theoretisch die Datenbank-Anfragen von meinem Programm verschlüsseln lassen, an ein PHP-Skript schicken, und die widerum von dem PHP-Skript auf meinem Websprace entschlüsseln lassen. Das Skript übernimmt die Datenbank-Abfrage und sendet das Ergebnis widerum verschlüsselt an das Programm zurück (bzw. mein Programm liest das Ergebnis von meinem Webspace aus).

Also so:
Programm sendet DB-Anfrage (verschlüsselt) an PHP-Skript
PHP-Skript sendet DB-Anfrage (unverschlüsselt) an Datenbank
Datenbank sendet DB-Ergebnis (unverschlüsselt) an PHP-Skript
PHP-Skript übergibt DB-Ergebnis (verschlüsselt) an öffentlichen Webspace
Programm holt das DB-Ergebnis (verschlüsselt) vom Webspace
Programm entschlüsselt das DB-Ergebnis

Ich bezweifle zwar, dass die Lösung sicher ist, allerdings entspricht das noch am ehesten meinen Fähigkeiten. Jetzt müssten das PHP-Skript und mein Programm nur auf die selbe Art ver- und entschlüsseln können. Der ganze Programmier-Aufwandt... Ay caramba.

Thema: Packet Sniffer zeigt meine DB-Anfragen an
Am im Forum: Datentechnologien

Leider ist hier die Ressonanz nicht so groß, wie ich es mir eigentlich gewünscht hätte. Ich muss auch sagen, dass ich noch ein Laie auf dem Gebiet bin, und ein Einstieg in so ein Thema ist immer schwer.

Worum es mir eigentlich ging, ist dass ist nicht will, dass Datenbank-Querys im Klartext übertragen werden. Inzwischen bin ich auf das Thema SSL-Verschlüsselung gestoßen, das genau hier helfen soll. Erst hier habe ich bemerkt, wie komplex das Thema eigentlich ist. Und dass meine Feststellung geradezu trivial ist. Darum kann ich auch verstehen, wenn sich die Experten hier von meiner Frage gelangweilt fühlen.

Was ich inzwischen suche, ist eine Möglichkeit, MySQL-Datenbank-Querys (edit: ) KOSTENLOS zu verschlüsseln. Gleichzeitig habe ich aber KEINE Installations-Rechte auf dem Webserver, wo die Datenbank liegt! Ist dann eine Verschlüsselung überhaupt möglich?

edit4: Ich geb's langsam auf. Ich finde überhaupt keine anfängergerechten Artikel zur Verschlüsselung zu einer Datenbank. Ich habe festgestellt, dass mein Webspace-Anbieter OpenSSL aktiviert hat. Hilft mir allerdings rein gar nichts, wenn ich nicht weiß, was man damit machen kann. FuNfAcT: Hier im Forum gibt es mindestens 3 Threads zum Thema OpenSSL, die bis auf den ersten Beitrag keine Antworten enthalten. Gibt mir zu denken...

Thema: Packet Sniffer zeigt meine DB-Anfragen an
Am im Forum: Datentechnologien

Hallo.

Ich habe gerade einen Packet Sniffer (Ethereal) ausprobiert, um herauszufinden, was mein Programm so alles unverschlüsselt beim Verbinden mit einer MySQL-Datenbank überträgt. Und ich muss zugeben, das hat mich doch sehr überrascht! Der Packet Sniffer hat mir anzeigen können, mit welcher Datenbank ich mich verbinde, über welchen Port und mit welchem Benutzernamen. Sogar die vollständigen Querys hat er mir zeigen können! Zum Glück aber nicht das Passwort, mit dem ich mich verbinde. Warum eigentlich nicht?

Aber da ist noch ein Problem. Wenn mein Programm sich verbindet, soll der Benutzer ein Passwort eingeben, anschließend wird das eingegebene Passwort mit einem String in der Datenbank überprüft. Jetzt sendet er aber das Passwort aus der DB als klar lesbaren String zurück. Klar, das kann man mit MD5 verschlüsselt in der DB abspeichern. Da ich aber weiß, dass es Tabellen gibt, mit denen man von einem MD5-String auf den Originalstring schließen kann, bereitet mir das doch Sorgen.

Thema: WPF vs. GDI+ vs. MDX usw...
Am im Forum: Grafik und Sound

Danke für die Antworten bis hier her.

Vielleicht noch eine kurze Frage, bevor ich mich "ins Vergnügen stürzen": In wie fern lassen sich Windows-Forms und WPF kombinieren? Also, wenn ich bereits eine Anwendung mit Windows-Forms erstellt habe, kann ich dann nachträglich noch Elemente aus WPF einfügen?

Thema: WPF vs. GDI+ vs. MDX usw...
Am im Forum: Grafik und Sound

Danke schon mal für deine sehr hilfreiche Antwort, herbivore. Ich würde aber gerne noch auf ein paar Punkte eingehen. Vielleicht kann mir hier ja jemand anderes weiterhelfen.

Zitat
Zitat
Kann man WPF für 3D-Darstellungen nutzen? Ist es dafür geeignet?
Ja, aber vielleicht nicht so wie du denkst. :-) Siehe nächsten Punkt.
Mit 3D-Darstellungen meinte ich so etwas wie flüssige Darstellung von bewegten 3D-Modellen.
Zitat
Zitat
Ist WPF, ohne den höheren Performance-Anspruch zu berücksichtigen, immer GDI+ vorzuziehen?
Ich würde WPF nicht mit GDI vergleichen, sondern eher mit WindowsForms. Also erstmal stellt WPF Controls zu Verfügung genauso wie Windows-Forms.
Mein Fehler. Ich meinte natürlich Windows-Forms. Um also zur ursprünglichen Frage zurück zu kommen: Gibt es, außer Performance-Verlust, sonstige Nachteile gegenüber Windows-Forms?
Zitat
Zitat
Ist WPF für 2D-Spiele geeignet?
Wenn man mit Windows.Forms 2D Spiele machen kann, wir das auch mit WPF gehen.
...wobei ich hier im Forum gelesen habe, dass die Möglichkeiten für 2D-Spiele doch stark beschränkt sind. Also, dass zum Beispiel 2D-Jump-and-Runs in der Art von Super Mario kaum performant möglich sind.

Grüße,
Jack

edit:
@feadur: Ich verstehe. Das dürfte dann so ziemlich meine Frage zur 3D-Darstellung beantworten. Danke.

Thema: WPF vs. GDI+ vs. MDX usw...
Am im Forum: Grafik und Sound

Hallo.

Nachdem ich mal 3D-Programmierung mit C# probieren wollte und auch bald auf die gravierenden Nachteile von GDI+ und MDX und OpenGL usw. gestoßen bin (siehe Thread "Einfacher Einstieg in 3D"), bin ich auch auf WPF gestoßen. Von WPF habe ich zuvor noch nie etwas gehört. Ich habe mal ein klein wenig angefangen Managed Direct X zu lernen, habe aber aufgehört, da es ja eine "Zeitbombe" sein soll. Das war schon ziemlich frustrierend. Jetzt habe ich mich in GDI+ eingelesen und muss jetzt wieder frustriert feststellen, dass es schon wieder etwas besseres geben soll (WPF).

Mir fehlen derzeit die Anhaltspunkte. Die Problematik verwirrt mich zunehmend. Einige Fragen, die sich mir stellen:

- WPF soll auf DirectX basieren. Wie funktioniert denn das, wenn die Weiterentwicklung von DirectX für C# eingestellt wurde?
- Kann man WPF für 3D-Darstellungen nutzen? Ist es dafür geeignet?
- Ist WPF, ohne den höheren Performance-Anspruch zu berücksichtigen, immer GDI+ vorzuziehen?
- Ist WPF für 2D-Spiele geeignet?
- Welche Erfahrungen habt ihr gemacht?
- Kann mir jemand gute Tutorial zu WPF empfehlen?

Danke im Voraus für die Aufklärung,
Jack

Thema: Finde beschriebene Funktion in Visual C# nicht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Original von ldr
Vielleicht hast du die Express-Edition, da gibt's den Menüpunkt nicht.

ldr

Ah! Ja, dann kann ich lange danach suchen. Danke für die hilfreiche Antwort!

Jack

Thema: Finde beschriebene Funktion in Visual C# nicht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo.

Ich bin, ehrlich gesagt, gerade ziemlich verzweifelt. In einem Tutorial von Galileo steht folgendes:

"Wählen Sie im Dialog zum Hinzufügen einer Komponente zum aktuellen Projekt das Element Geerbtes Formular aus, wird der Dialog Vererbungsauswahl angezeigt, in dem alle Forms des aktuellen Projekts aufgelistet sind. In der Abbildung 15.13 sind es die Klassen Form1, Form2 und Form3."

Allerdings finde ich die Menüpunkte "Hinzufügen -> Geerbtes Formular" nicht, zumal ich auch die englische Version benutze. Aber selbst etwas ähnliches ist nicht zu finden. Ich habe schon eine ganze Weile gesucht, auch über die MSDN, die sich leider nicht 1 zu 1 übersetzen lässt, bzw. mir dämlicherweise die deutsche Version aufdrängen will.

Für Hilfe wäre ich echt dankbar, besonders da ich vom ewigen Suchen jetzt 'nen ziemlich dicken Schädel habe und in dem Zustand erst recht nicht voran komme.

Danke,
Jack

Thema: Leichter Einstieg in die 3D-Programmierung unter C#?
Am im Forum: Grafik und Sound

Ich bin ganz durcheinander... Ich würde auch gerne etwas mit 3D (oder vorerst auch 2D) machen, bin jetzt aber von den ganzen Vor- und Nachteilen von MDX und XNA total verwirrt... ähm...

Zitat
Original von Peter Bucher
Zitat
Original von marco.b
Managed DirectX ist ganz brauchbar, wird aber meines Wissens nach nicht mehr weiterentwickelt. Die API nennt sich nun "XNA", damit habe ich aber keine Erfahrung.
Ich würde auch XNA empfehlen, dafür findet man sehr viele Tutorials im Netz.
MDX wird nicht mehr weiterentwickelt, bzw. die Version 2.0 wurde eingestellt. Stichwort: "Timebomb".

Ich habe mal bisschen wegen der Einstellung von MDX 2.0 gesucht, aber nicht wirklich was gefunden. Was meinst du denn mit "Timebomb"?

Thema: String als Code ausführen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für alle Antworten!

Ich habe schon befürchtet, dass es durch die Umwandlung in MSIL-Code nicht möglich sein würde.

Was ich aber nicht verstanden habe, ist die Geschichte mit C#-Script. Kann mir vielleicht jemand etwas zu diesem C#-Script sagen? Ich habe mir zwar die Website von C#-Script und kurz die Dokumentation angeschaut, habe aber die Befürchtung, dass C#-Script einige wichtige Eigenschaften von C# beschränken wird (Stichwort "Annäherung zu einer Skriptsprache"). ...ist allerdings nur meine erste Assoziation.

Jack_AI

Thema: String als Code ausführen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo.

Mich (Anfänger) würde interessieren, ob es eine Funktion gibt, die einen String als Code ausführt.

Beispiel:
string code = "Console.WriteLine(\"Das ist ein Test\")";
Irgendeinefunktion(code);

-> Ausgabe: Das ist ein Test

Danke im Voraus für die Hilfe,
Jack_AI