![]() |
Programm- und Quellcodesicherheit
Hi,
ich programmiere derzeit ein Projekt mit dem ich über eine Win32-Anwendung auf meinen Server zugreife. Diese mache ich über die Komponente idHTTP von den Indys und sende Daten an PHP-Dateien. z.B.
Code:
Die Aufrufe stehen natürlich in meiner Anwendung, auf dem Server werden die Aufrufe aber vorher über „mysql_real_escape_string“ geprüft, so dass diese nicht manipuliert werden können.
[…]?login.php&username=Test&password=testpsw
Nun habe ich dazu mehrere Fragen: 1.) Inwiefern ist mein Projekt sicher, wenn die PHP-Abfragen über eine Win32 Applikation aufgerufen werden (vorausgesetzt, die PHP-Funktionen sind gut programmiert worden)? 2.) Würde eine Lösung über ASP.net mehr Sinn machen (z.B. über C# und LINQ), weil man hier keine Quellcode-Daten einsehen kann? 3.) Gibt es sowas wie LINQ auch für Delphi? Dann könnte man ja auch über die Entwicklungsumgebung vom BDS etwas machen… Bin gespannt, was ihr zum Thema zu sagen habt :-) |
Re: Programm- und Quellcodesicherheit
zu 1: Welche Sicher meinst du? Sicher gegenüber Manipulation oder gegenüber Abfriff der Zugangsdaten
zu 2: Jedliche Daten die beim Client liegen können manipuliert werden. Selbst bei einer ASP.NET-Anwendung können die Post-Daten/Replies manipuliert werden (Eingabekontrolle auf Client reicht nicht). zu 3: LINQ bei einer Clientanwendung bringt dir im Bereich Sicherheit nix. "Einfach" einen Proxie entwickeln und die Daten "on the fly" manipulieren. |
Re: Programm- und Quellcodesicherheit
Zitat:
Zitat:
Zitat:
|
Re: Programm- und Quellcodesicherheit
zu 1: Du kannst nur durch Verschleierung bzw. durch Verschlüsselung die Manipulation erschweren
zu 2: Ja. zu 3: Hab ich nicht gemeint. LINQ im Bezug auf Sicherheit/Manipulation. Auf BDS/CDS-Seite wird nicht mehr viel kommen. Ich denke in 2 Wochen (zur EKON) dürfte die zukünftige Strategie von Delphi/Codegear und Delphi klarer sein. Es soll ja ein Plugin für VS.NET geben um .NET 3.5 mit einer Pascal-Like-Sprache vollständig zu unterstützen |
Re: Programm- und Quellcodesicherheit
Was „on the fly“ ist würde mich noch interessieren.
Okay, zusammengefasst: Egal wie leicht oder schwer die Manipulation auf der Client-Seite ist, ich muss den Input auf der Serverseite nochmals abfragen und wenn das gut programmiert ist, ist die Anwendung entsprechend sicher. Richtig? |
Re: Programm- und Quellcodesicherheit
Deine Zugansdaten werden immer mehr oder weniger im Klartext in der Exe-datei stehen und können deshalb auch realtiv leicht ausgelesen werden. Und wenn du keine verschlüsselte Verbindung hast, werden die daten auch im Klartext übertragen und können so mitgelesen werden.
|
Re: Programm- und Quellcodesicherheit
Zitat:
Zitat:
Erstens: Weder bei ASP.NET noch bei PHP sieht man den Quellcode. Okay, bei letzterem schon, wenn man entsprechende Rechte auf dem Server hat. Aber wenn man so weitgehende Rechte hat, dann kann man in der Regel sogar die Anwendung komplett umgehen (=> Datenbanklogin auslesen und direkt auf die DB...). Zweitens: LINQ hilft in Hinblick auf Sicherheit gar nicht. LINQ ist - um das Schlagwort mal auseinander zu nehmen - 'nur' ein bisschen Compilermagic und eine handvoll vorgefertigter Funktionen, um Code zu sparen. LINQ kann nichts, was man nicht auch so mit ein paar Schleifen, ein paar Methoden und etwas Glue-Code dazwischen selber machen könnte. Zitat:
Was willst Du denn eigentlich genau machen? |
Re: Programm- und Quellcodesicherheit
Zitat:
|
Re: Programm- und Quellcodesicherheit
Das sowieso. Deswegen darf man sich auch nie auf das korrekte Verhalten des eigenen JavaScriptes verlassen, sofern es den Server anspricht. Wenn der Client mein GUI-Script kaputt macht und die Seite nicht mehr richtig bedienbar ist: Selber schuld.
Wenn er aber meinen Server mit Mülldaten lahmlegt, dann hab ich irgendwo richtig Scheisse gebaut ;-). Wichtig ist die Eingabevalidierung auf dem Server. Jede Information, die den Server erreicht, ist potentiell böse. |
Re: Programm- und Quellcodesicherheit
Zitat:
Zitat:
Zitat:
Was ich genau mache kann ich natürlich nicht verraten ;-) aber hier vielleicht ein Beispiel: Stelle dir eine Plattform wie z.B. Wer-kennt-Wen oder StudiVZ vor (keine Angst, ich mache nichts in die Richtung, aber von den Funktionen her, kann man´s ganz gut vergleichen). Ich habe ein Login/Logout und kann bestimmte Profile anschauen oder nicht. Mit einfachem Ändern der Parameter soll es aber nicht doch möglich sein, an gesperrte Profile zu kommen. Wer-kennt-Wen arbeitet mit PHP und mit einem Frontend (was in meinem Fall dann Delphi darstellen würde). Falls du möchtest, kann ich aber gern genauer auf meine Idee eingehen, aber ich hoffe du hast es schonmal im Ansatz verstanden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz