Hur förhindrar man andra att använda dom web services man har gjort? Att bara skicka med nått typ av lösenord som ett argument känn inte speciellt säkert. Beror ju lite på vad servicen används till. I vissa fall kanske man kan lägga till sessionshantering, då kan man göra en inloggning först som ett separat anrop. En sådan inloggning kan man göra lite säkrare genom att kryptera lösenordet med en nyckel som servern bestämmer och som är unik för sessionen. För att ytterligare höja säkerheten kan man hasha lösenordet med en för sessionen unik salt. Allra bäst är väl att använda HTTPS. WSE som nämndes är Microsofts lösning på säkra Web Services. Det är ett tillägg som man först måste ladda ner. WSE verkar intressant. Måste man installera det på webbservern innan man kan använda sig av det? Det webbhotell jag använder mig av har inte WSE installerat. Vad finns det för alternativ kvar för att göra web services säkra? Det beror på vad du menar med säker... Som jag skrev i mitt första svar kan man skapa en session. Antingen gör man en egen sessionshantering eller så använder man den inbyggda precis som på en vanlig websida. Använder du den inbyggda får du tänka på att man måste slå på sessionshantering för webservice (det är inte det som standard), samt att din klient måste spara cookien som servern skickar (sök på "CookieContainer").Privata web services
ThomasSv: Privata web services
/JohanSv: Privata web services
Då är förbindelsen krypterad på ett sätt som är väldigt svårt att knäcka.
Då kan du skicka med lösenord nästan hur som helst.
Ett annat sätt eller i kombination med ovanstående är att begränsa applikationen till vissa ip-nr (det kan göra i IIS för en applikation)
Du kanske även vill kolla upp WSE och WS security http://www.devx.com/security/Article/15634
Det finns många olika sätt att lösa det på - lämpligen väljer du något som är i paritet med hur hemlig informationen är. Man behöver inte överdriva om informationen inte är hemlig :)
Cheap, Fast or Secure - Pick TwoSv:Privata web services
Länken ovan är lite gammal och tar upp WSE1. Det har kommit två nya versioner sedan dess och du hittar aktuell information på:
http://msdn.microsoft.com/webservices/webservices/building/wseSv: Privata web services
ThomasSv: Privata web services
ThomasSv:Privata web services
1. Att ingen annan ska kunna använda den.
-> Utan WSE får du i så fall skicka med ett lösenord som parameter. Alternativt ha web servicen på en "hemlig" adress. Eller kanske kontrollera användarens IP eller nåt.
2. Kryptera skickad information.
-> Utan WSE kan du istället använda SSL(https) om ditt webbhotell stödjer det. Du kan också kryptera och eller signera informationen manuellt med kod.Sv:Privata web services
/Johan