hier ist mein Szenario:Einfache HTTPS zu PHP Skript
Ich habe eine Website mit PHP, mySQL. Ich habe eine Software-Anwendung, die einen Login-Bildschirm hat und sendet Benutzernamen und Passwörter über das Internet von http:
public String GetWebPageSource(String pURL)
{
try
{
byte[] vReceivedBytes = null;
using (System.Net.WebClient vWebClient = new System.Net.WebClient())
{
vReceivedBytes = vWebClient.DownloadData(pURL);
}
int vBomLen = 3;
byte[] vStrippedBytes = new byte[vReceivedBytes.Length - vBomLen];
Array.Copy(vReceivedBytes, vBomLen, vStrippedBytes, 0, vReceivedBytes.Length - vBomLen);
return System.Text.Encoding.UTF8.GetString(vStrippedBytes);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
So einen Benutzernamen senden und das Passwort Ich würde schreiben:
GetWebPageSource ("http: // mywebsite.com/Login.php?username=stackoverflow & password = iscool ")
und die php-Datei würde einen Text ausspucken, der sagt, ob das Passwort akzeptiert oder abgelehnt wird.
Dies ist jedoch nicht sicher. Also möchte ich es sicher machen ... https. Wie einfach ist es, https zu integrieren? Wie stark wird sich der Code ändern? Wie viel muss ich handhaben? Was ist für mich transparent? Muss ich prüfen, ob ein Cookie bereits existiert und wenn nicht, schreibe ich die Methoden zur Authentifizierung oder gibt es bereits Bibliotheken, die das für mich tun?
So kann ich Sie https: // Pfad anstelle von http, wenn Sie die Anfrage stellen. Wie wird der Cookie verwaltet? Was ist das Leben? Ich würde es hassen, wenn der Server sich jedes Mal neu authentifizieren müsste, wenn ich einen GetWebPageSource-Aufruf mache. Welchen Leistungseinbruch hat der Server von der Verwendung von SSL? Also muss ich diesen Code nicht ändern? Wenn ich die Schlüssel usw. auf dem Server-Ende konfiguriere, wird alles für mich transparent sein? – Tom
Ja, sobald Sie Ihren Webserver korrekt konfiguriert haben, sollte er sowohl HTTP- als auch HTTPS-Anfragen abhören. Sie werden den Code wahrscheinlich nicht viel ändern müssen, aber es ist eine gute Methode, https für Ihre Authentifizierungsseite zu erzwingen. Ich kenne die Best Practice dafür nicht (wahrscheinlich eine Art Redirect), aber ich bin mir sicher, dass Sie eine Menge Diskussionen online finden werden. – Tom
Ich bin mir nicht sicher, wie die Sitzungsverwaltung mit C# funktioniert, aber im Allgemeinen behandeln die meisten Sprachen wie PHP Sitzungen ziemlich transparent. Sie können einfach eine Funktion (start_session) aufrufen und dann einem globalen Sitzungsarray Werte wie den Benutzernamen für die Anmeldung hinzufügen. Dann müssen andere Seiten/Skripts nur das Array überprüfen, um sicherzustellen, dass Sie angemeldet sind. (Ich erwähne PHP, weil es in Ihrem Titel ist. Ist das "Back-End" in PHP?) – Tom