Zabezpieczenie API |
Zabezpieczenie API |
9.03.2016, 15:57:55
Post
#1
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) |
Mam API w PHP, które za pomocą JSONP (zapytania ajax) zwraca określone dane innej domenie. W jaki sposób mogę zabezpieczyć API, tak by zapytania mogły być wykonywane tylko z określonego miejsca (domeny)? Tak żeby nikt inny nie mógł wyciągnąć danych.
-------------------- |
|
|
9.03.2016, 18:19:09
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
oauth, api key rozwiazan jest wiele
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
9.03.2016, 18:59:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) |
API key chyba zbytnio nie zda egzaminu. W kodzie JS musiałby być podany jawny klucz. Dla średnio ogarniętego "hakera" nie byłoby by problemu podejrzeć klucz w kodzie... Myślałem też o Oauth. Poda ktoś linka, gdzie będzie pokazana w przejrzysty sposób implementacja tego?
Chyba, że da się w jakiś sposób powiązać klucz-domena? -------------------- |
|
|
9.03.2016, 19:03:43
Post
#4
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) |
+ CORS
-------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
9.03.2016, 19:18:44
Post
#5
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) |
+ CORS Jak dobrze rozumiem sugerujesz: 1) Podawać api key 2) Do tego, za pomocą CORS, ograniczyć możliwość odbierania zapytań tylko z listy dozwolonych domen? Jest to jakieś rozwiązanie. Pytanie tylko czy nie da się w prosty sposób (np. za pomocą curl) podmienić nagłówków i "oszukać" takie zabezpieczenie? -------------------- |
|
|
9.03.2016, 20:30:26
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Albo masz normalne API i to serwer wysyła zapytania, więc nikt tego nie widzi, zastosowanie ma API Key.
Albo masz jakieś JSONP i wtedy działa CORS dla takich domen jakie ustalisz. Wszystko jest stosowane od 100 lat, w 99,9% bezpieczne i nic nie musisz wydziwiać |
|
|
9.03.2016, 20:46:59
Post
#7
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) |
Czyli w moim przypadku trzeba użyć CORS. Dzięki
-------------------- |
|
|
9.03.2016, 20:53:55
Post
#8
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) |
CORS to mechanizm zaimplementowany w przeglądarce (który zresztą można wyłączyć np. w chromie przez --disable-web-security), jak to ma niby zabezpieczyć przed "ręcznym" requestem"?
-------------------- |
|
|
10.03.2016, 15:15:51
Post
#9
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 7 Dołączył: 6.01.2010 Skąd: Opole Lubelskie Ostrzeżenie: (0%) |
CORS to mechanizm zaimplementowany w przeglądarce (który zresztą można wyłączyć np. w chromie przez --disable-web-security), jak to ma niby zabezpieczyć przed "ręcznym" requestem"? W takim razie co proponujesz? -------------------- |
|
|
10.03.2016, 15:18:03
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
CORS służy zabezpieczeniu użytkownika/przeglądarki, nie API. To co zapewne będzie Cię interesować to np. OpenID Connect z oAuth2.
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 07:45 |