Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-22 11:13:13 - Rickard Lindgren, i forum asp.net generellt, Tråden har 7 Kommentarer och lästs av 1923 personer

Jag gör en webapplikation som innehåller en webservice bl.a. Denna webservice anropas via AJAX av några olika jQuery-funktioner i applikationen. Givetvis vill jag ju nu att webservicen enbart ska svara på requests från min webapplikation, inte att någon annan ska kunna ansluta till den.
Går detta att spärra på något vis i asp.net? Finns det andra möjligheter? Pagemethods kanske, vilket kanske också gör att enbart inloggade användare kommer åt metoderna?

/Rickard


Svara

Sv: Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-22 14:57:34 - Johan Djupmarker

Det bör inte vara möjligt att göra på ett säkert sätt. Om webläsaren ska göra ett HTTP-anrop så finns det alltid sätt att fejka så att andra applikationer ser ut att vara besökarens webläsare.

Johan


Svara

Sv: Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-22 15:38:54 - Joakim Åhl

lägg till tex Anv, Pass i dina funktioner. Är det fel Anv Pass så retuneras ingen data.


Svara

Sv:Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-22 17:13:52 - Johan Djupmarker

Användare och lösen måste finnas i klienten (websidan) och kan alltså kopieras till den som vill snylta av webservicen.

Det beror ju lite på vad man vill skydda sig mot. Man skulle kunna tänka sig att varje session får ett eget lösen som bara är giltigt en kort stund. Men under tiden den är giltig kan man använda sig av servicen från en annan "förbrukare". Men det kanske inte är ett problem?

Johan


Svara

Sv: Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-25 10:11:18 - Pelle Johansson

Kan du inte bara kolla vilket ip-nummer anropet kommer ifrån?


Svara

Sv:Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-25 11:26:23 - Tom Granqvist

Läs frågan igen, Pelle :). Han gör anropet med Ajax, alltså från klienten. Kan därför vara vilken ip som helst. Även om han gjorde en mellanlösning Ajax => servern => webbservice, för att kunna kolla att ip == serverns ip, kan ju vem som helst anropa "mellanlagret" dirket, vilket spelar ut sin roll.

Som Johan säger måste inloggningsuppgifterna finnas i varje anrop, vilket ju gör systemet lite känsligt.
Kanske nånsorts lösning enligt nedan kunde fungera:
<code>
Inloggning => Generera ett sessionsvärde och spara till databas tillsammans med ip. Skicka nonce.
Anrop => Kolla sessionsvärde mot sparad ip och ett nonce. Generera nytt nonce, skicka tillbaka.
</code>

Sen gäller det ju att fundera ut hur bra webbservicen verkligen behöver skyddas, och inte överdriva det hela.

http://en.wikipedia.org/wiki/Cryptographic_nonce


Svara

Sv: Endast tillåta anrop till webservice från egen webbapplikation

Postades av 2010-03-26 13:20:54 - Oskar Johansson

Kort svar: det går inte att skydda sig, hur du än gör så kommer det gå att ta sig runt om man verkligen vill.

Långt svar: det beror på hur långt du är villig att gå för att skydda din webservice.

Några olika metoder:
1a) Sätt en session på din vanliga sida, kolla sedan att den är satt i webservicen. Betyder iaf. att man har besökt din vanliga sida innan webservicen. Skyddar mot en direkt nybörjare.

1b) Kolla referer

2) Grejja med lite inloggning, kolla inloggad i webservicen. Lite högre skydd, kan dock mecka till det för en vanlig användare om du i övrigt inte kräver någon inloggning

3) Gör lite jox med javascript, t.ex. att du anropar din webservice tre gånger på raken, resultatet ifrån första anropet => javascript med någon enkel algoritm, resultatet av javascript => andra anropet till webservice osv. Rätt sekvens == upplåst webservice. Lite högre säkerhet än bara att kontrollera inloggning.

4) Generera vissa bilder ifrån asp.net, dvs. vissa av bilderna som laddas/något javascript/en css-fil ska hämtas ifrån ett asp.net-script du har. Det asp.net-scriptet kan i sin tur sätta vissa session-flaggor som du sedan kontrollerar ifrån din webservice. Om du maskerar det lite snyggt med url rewriting så kommer det vara ganska svårt att lista ut det för någon som vill "fuska"

Om du kombinerar punkt 3) och punkt 4) så har du nog ett ganska tufft skydd, det borde avskräcka de flesta


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
2 125
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies