Autor Beitrag
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 15.09.16 14:34 
Das ist jetzt eine Frage zu PHP, SQL und HTML/CSS. Nichts davon hat noch echten Bezug zu ADO.Net oder zu C#. Beides brauchst du nicht mehr. Fragen zu diesen gehören dann auch in die entsprechenden Forenbereiche zu diesen Themen.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Do 15.09.16 14:54 
Aber warum? Letztendlich lade ich ja die PHP Datei auf den Server. Aber über C# muss ich ja jetzt irgendwie eine Anfrage an diesen Server senden und eventuell Daten mitgeben, damit der PHP Script dann diese Daten in die DB schreibt. Und wenn der Script Werte zurückliefert, muss die C# Anwendung diese ja empfangen und anzeigen. Das weiß ich nicht, wie man das macht. Da diese Anfrage ja über C# läuft, finde ich, bin ich jetzt noch in dem richtigen Thema:)

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 15.09.16 15:05 
Zitat:
Aber warum?


Weil ich dich falsch verstanden habe ;) Ich dachte du wolltest irgendwie die Serverseite ändern(mit C#) um das passende zu bekommen.

Wenn du von der Clientseite steuern willst was du zurückbekommst dann mußt du einen HttpRequest an den Webserver schicken (so das der entsprechende serverseite Code aufgerufen wird z.B. dieses PHP).
Diesem Request mußt du passende Parameter mitgeben die das Serververhalten steuert, das php muß so geschrieben sein das es diese Parameter auswertet das passende anstellt und das passende in die response schreibt damit du das auf dem Client zurückbekommst.

Ziemlich ähnlich zu einem normalen Methodenaufruf in c#. Paramter übergeben, Methode macht was passendes mit den Parametern und liefert irgendwelche Daten als Return.
Die Methode ist jetzt halt nur Serverseitig und in PHP geschrieben und benutz auf dem Kanal dazwischen halt Http.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Do 15.09.16 19:29 
Ah okay. Ich habe die PHP Datei nun auf den Server geladen und diesen per WebRequest aufgerufen. Es kommt dieser Fehler:

1

ausblenden PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
<?php

$Server = "https://myadmin-alfa3044.alfahosting-server.de/index.php?token=76aa4331fec5723d73a02e88b6fd70c1";
$Username = "web26282455";
$Password = "Passwortderdatenbank";
$Database = "usr_web26282455_1";

$con = mysqli_connect($Server,$Username,$Password,$Database);
if($con)
{
$sqlquery = "SELECT * FROM TABLE";
$result = mysqli_query($sqlquery);
while($row = myssqli_fetch_ssoc($result))
{
echo $row['row name'];
}
}
?>


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
 WebRequest request = WebRequest.Create("http://test-67178.alfa3044.alfahosting-server.de/GetAllData.php");
            request.Credentials = CredentialCache.DefaultCredentials;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Console.WriteLine(response.StatusDescription);
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            Console.WriteLine(responseFromServer);
            reader.Close();
            dataStream.Close();
            response.Close();
            Console.ReadKey();


Und hier noch, wie es im Hoster aussieht:
2
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 15.09.16 19:42 
Jetzt bin ich mir aber sicher das du besser jemanden fragst der auch php kann. So jemanden findest du eher nicht in der ADO.Net Ecke.


Was ich ohne php Kenntnisse noch erraten kann. Dein Sql geht auf eine Tabelle mit Namen TABLE. Dein Tabelle heißt nicht TABLE.
Zu deiner mysql Datenbank verbindest du dich sicher nicht mit http. Zu dem mysql Frontend kommt du vielleicht so. An die Datenbank aber eher nicht. Servername sollte tatsächlich einfach nur der Servername sein. Wenn Datenbank und Webserver auf dem selben Rechner liegen sollte der Servername einfach 'localhost' sein.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 21.09.16 20:26 
Soo. Die Registrierung läuft nun über eine PHP Datei, die sich (vermutlich) in einem Http-Endpunkt befindet. Und diese Datei macht nun genau das, was sie soll. Also genau wir ihr schon gesagt habt. Aber nun habe ich eine Sicherheitsfrage: wenn in der HTML Datei steht <form action"registrierung.php">... könnte man sich dann nicht diese Datei irgendwie runterladen, verändern und dann wieder auf den Server laden? Ich habe nämlich noch die Frage, ob eine PHP Datei nur funktioniert, wenn Sie auf dem Server läuft oder auf einem beliebigen anderen PC auch.

In der PHP Datei stehen ja die Serverdaten und die Querys. Wenn man sich diese Datei also runterlädt und bsp. die Querys verändert (z.B. dass sie alles löscht), ist dies ja eigentlich auch unsicher, oder?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 21.09.16 20:46 
Nein, die php-Datei bekommt niemand so ohne Weiteres zu Gesicht.
Die wird auf dem Server ausgeführt und das Ergebnis wird dann als Antwort geschickt.
Auch wenn dein Script auf einen Fehler läuft, wird danach nichts sichtbar sein, denn dann wird die Ausführung abgebrochen. Als Antwort kommt dann nur, was bis dahin noch funktioniert hat, der Rest fällt weg.

Die Frage, ob jemand die PHP-Datei herunterladen, modifizieren und wieder uploaden kann:
Klar, das geht wahrscheinlich immer, aber dann hast Du andere Sorgen. Der Angreifer hat dann sehr wahrscheinlich schon Vollzugriff und braucht die PHP-Datei nicht mehr ;)
Das sollte aber nicht so einfach möglich sein. Für sicherheitsrelevante Daten sollte sich aber auch mal jemand die Server-Konfiguration im Detail anschauen, der sich damit aus kennt. Nicht dass da irgendwo eine Lücke existiert, von der hier niemand etwas ahnen kann.


Und PHP funktioniert überall, wo PHP installiert wurde. Also Linux, Windows, Mac, etc.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 21.09.16 20:59 
Aber ich sage mal wenn man bsp dieses Formular über den Browser in den Editor holt, steht da ja bsp. registrierung.php. Von C# kenne ich bsp die Methode .DownloadData(URL). Dann könnte man sich ja einfach die Datei runterladen, oder? Sorry, aber ich möchte das wirklich sicher sein.

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 21.09.16 21:20 
Versuch es doch mal ;)
Es sollte niemand außerhalb Zugriff auf PHP-Dateien haben
Ob man das anders einstellen kann, weiß ich nicht, aber wenn das geht, stehts sicher nicht in den Standard-Einstellungen.