Avatar billede Slettet bruger
03. marts 2010 - 15:36 Der er 13 kommentarer og
1 løsning

Bedste måde at kommunikere mellem klient og PHP-baseret webserver

Halløj,

Overskriften. Hvordan? :)
Avatar billede repox Seniormester
03. marts 2010 - 15:41 #1
Med HTTP.
Eller HTTPS.
Avatar billede Slettet bruger
03. marts 2010 - 15:55 #2
Avatar billede repox Seniormester
03. marts 2010 - 16:01 #3
#2
Det er jo også HTTP/HTTPS?
Avatar billede Slettet bruger
03. marts 2010 - 16:03 #4
#3, ja, men det var nok næppe det han fiskede efter, vel?
Avatar billede repox Seniormester
03. marts 2010 - 16:09 #5
#4
Det ved jeg ikke - hvordan skulle man have chance for at tyde det ud fra OP's emne?
For hvis OP bare vil vide hvilke metoder klienten kan gøre det gennem er det jo bare at remse op - AJAX (som du selv nævner), Flash, Silverlight, Air Application (som typisk er en kombination af førnævnte), Internet Explorer, Firefox, Opera...
Men jeg gætter jo bare...
Avatar billede Slettet bruger
03. marts 2010 - 16:10 #6
#5, ja, det bliver vi jo nød til, når beskrivelsen ikke er bedre.
Avatar billede Slettet bruger
03. marts 2010 - 16:56 #7
Okaj, min beskrivelse var tydeligvis for vag.
Jeg har behov for at sende ordrer og respons i form af mellemstore mængder XML frem og tilbage. Der er ikke tale om et enormt behov for sikkerhed, men basal kryptering og verificering vil formentligt være at foretrække - hvordan det bør/kan implementeres har jeg ingen anelse om endnu.
Spørgsmålet omformuleret: Hvilken protokol og datastrukturering bør jeg anvende? HTTP og ren XML?
Avatar billede Slettet bruger
03. marts 2010 - 16:57 #8
Faktisk må min oprindelige beskrivelse siges at være ufatteligt ringe... Beklager.
Med klienten menes en applikation afviklet på brugerens enhed - formentligt realiseret i C# eller Java.
Avatar billede Slettet bruger
03. marts 2010 - 17:28 #9
Det ville formentligt være lettest at lave via HTTP(S).
Der findes masser af gode programbiblioteker med den slags funktionalitet. Kig f.eks. på libcurl, som findes til stort set alle programmeringssprog:
http://curl.haxx.se/libcurl/bindings.html (Engelsk)

Over en SSL-forbindelse vil et helt normalt POST af dataene være sikkert nok, men ønskes der yderligere beskyttelse, kan du overveje en public/private-key-indkodning. De fleste moderne programmeringssprog har en implementering af dette:
http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html (Java, engelsk)
http://msdn.microsoft.com/en-us/library/5e9ft273%28VS.80%29.aspx (C#, engelsk)
http://www.php.net/manual/en/function.openssl-private-decrypt.php (PHP, engelsk, bruger OpenSSL-indkodning)
Avatar billede Slettet bruger
03. marts 2010 - 21:03 #10
Takker. Jeg tror, jeg vil gøre følgende:

Klient kender brugers username og password samt serverens addresse og en streng genkendt som anmodning af en public key fra serveren.
Server har en udskiftelig private og public key og kender streng som anmodning af en public key.

1) Klient modtager input
2) Klient sender server public key-anmodning til server
3a) Klient genererer request ud fra input samt brugernavn og password. Desuden genereres et nyt sæt af private og public key, og public påsættes requestet
3b) Server modtager anmodning og svarer med sin public key
4) Klient modtager servers public key og krypterer med den det midlertidige request, hvorefter resultatet sendes til server
5) Server modtager requestet og dekrypterer det med sin private key, hvorefter credentials bekræftes, og den oprindelige valideres og udføres under de givne credentials autoritet
6) Server genererer resulterende svar, krypterer det med klients public key, og sender resultatet retur
7) Klient modtager og dekrypterer svaret med sin private key, hvorefter resultatet kan behandles
8) Klienten producerer output

Lyder det nogenlunde fornuftigt? Det er udelukkende spekulationer, da min viden om kryptografi og websikkerhed endnu er yderst begrænset...
Avatar billede coderdk Praktikant
04. marts 2010 - 01:17 #11
Ingen grund til at opfinde den dybe tallerken - HTTPS og en webservice lyder til at være det nemmeste at sætte op, og vil umiddelbart virke fra .NET ;)
Avatar billede Slettet bruger
04. marts 2010 - 09:42 #12
Storartet - så må jeg lige sætte mig ind i det. Takker.
Smider I et par svar?
Avatar billede coderdk Praktikant
04. marts 2010 - 10:38 #13
Ingen til mig, tak :)
Avatar billede Slettet bruger
04. marts 2010 - 16:17 #14
Umidbart er der ikke nødvendigt at indkode XML-teksten, det klarer HTTPS udmærket. Det er kun hvis applikationen virkelig skal være sikker, at der er brug for mere beskyttelse, og så vil en løsning, hvor koder ikke sendes over nettet, men blot er håndkodede i programmerne være at fortrække.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester