2011-11-07 22 views
8

Tworzę proste web api, które zwraca json.Czy moje web api jest bezpieczne?

Wykona proste operacje crud.

Jaki jest najlepszy sposób uwierzytelniania użytkowników, OAuth wydaje się być tutaj głównym zaleceniem, ale szukam czegoś, co mogę zaimplementować w prosty sposób, klucz oparty na tokenie lub kluczu API?

Wszelkie wskazówki pomysły sugestie byłoby świetnie, dzięki

UPDATE: Zapomniałem wspomnieć, to API przyzwyczajenie się do ogólnego spożycie, jej tylko na własny użytek, ale chcę, aby upewnić się, kogo mogę dostać się zbyt łatwo, jeśli potkną się o to.

Odpowiedz

3

Przede wszystkim, aby zbudować dobre API, powinieneś użyć API innych ludzi, aby zobaczyć, jak działają. Aby uzyskać REST, użyto klucza API, który jest po prostu naprawdę dużą liczbą losową lub "kryptograficznym nonce". Ale tak naprawdę to jest tak jak nieśmiertelny identyfikator sesji, aby wyszukać informacje uwierzytelniające użytkowników, co nie jest takie wspaniałe. OAuth jest świetny, jeśli chcesz, aby twój system Kerberos był bardzo bezpieczny.

Możliwe jest hijack json responses, co jest pułapką przeciwko jsonowi. Jeśli klucz API jest wymagany dla każdego żądania, osoba atakująca nie może użyć tej metody.

+0

Dzięki! API może wystarczyć, ponieważ znam adres IP, z którego pochodzi żądanie! –

+0

@Rigobert Song to naprawdę zły pomysł, którego nie znam żaden interfejs API. Otwierasz drzwi do porwania JSON. Adresy IP są udostępniane przez użytkowników. Oah i stanie się bezużyteczny dla wielu firm i szkół, ponieważ salda obciążenia obrócą adres IP użytkownika. – rook

+0

Przepraszam, chciałbym powiedzieć klucz API! Zaktualizowałem to pytanie, tylko na mój użytek, a nie na publiczny APi! –

Powiązane problemy