• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Forbidden Error przy HTTP DELETE na hostingu OVH

0 głosów
610 wizyt
pytanie zadane 8 sierpnia 2021 w Hostingi, domeny, usługi przez symoleon Nowicjusz (200 p.)
Dzień dobry,
robię API i przy po uploadzie na hosting mam problem z zapytaniem DELETE. Serwer cały czas zwraca 403. Na początku zwracał ten przy GET i POST, ale problemem okazał się brak nagłówka User-Agent i po jego dodaniu już te dwie metody działają. Niestety przy DELETE nie pomogło. Jakieś pomysły, co może powodować taki błąd? Hosting jest od OVH.

1 odpowiedź

0 głosów
odpowiedź 8 sierpnia 2021 przez Wiciorny Ekspert (283,440 p.)
Sprawdź czy wywołanie metody z poziomu API faktycznie odwołuje się do mapowania "delete" i czy obsługujesz ten rodzaj zapytania.
Jeśli robisz to z pomocą np, formularza- który np po id usuwa czy coś, sprawdź czy formularz akcji jest odpowiednio powiązany z metodą.
Być może twoja konfiguracja metod HTTP, nie zezwala na tego typu operacje jak DELETE, lub w bazie danych masz blokadę? Może wymóg transakcji ?  A może autoryzacja od strony bazy jest wymagana? Np token/ciasteczko?
komentarz 8 sierpnia 2021 przez symoleon Nowicjusz (200 p.)
API u mnie na xamppie działa bez problemu. Zapytania wykonuję Postmanem. API pisałem praktycznie od 0 więc nic nie blokuje od strony skryptu. OVH zapewne ma w konfiguracji serwera poustawiane jakieś wymogi, ale nie mam pojęcia jakie, bo błąd też wyrzuca serwer, a nie moje API. Pisałem także na forum OVH, ale jeszcze nie doczekałem się żadnej odpowiedzi. Zastanawiam się tylko, czy są jakieś umowne standardy określające wymagające nagłówki (tak jak nie chciało puścić bez User-Agent, który de facto nie jest nagłówkiem wymaganym).
komentarz 8 sierpnia 2021 przez Wiciorny Ekspert (283,440 p.)
jakby błąd wyrzucał serwer to nie miałbyś 4..setek tylko 5... setki tak ściśle mówiąc.
Nie wiem może zły endpoint? Nie obsługiwany jest taki ?  Są pewnie, że są np. CORS domyślnie nie może mieć mapowania na każdy endpoint, jeśli mu tego nie wskażesz, czyli tzw "*", szczególnie jeśli CORS wymga autoryzowanego dostępu
komentarz 8 sierpnia 2021 przez symoleon Nowicjusz (200 p.)
Gdyby endpoint nie był obsługiwany to moje API powinno zwracać 404 plus JSON z błędem. Błąd jest wyrzucany zanim moje zapytanie trafi do pliku, który powinien je obsłużyć. W API zwracam wszystko w JSONie, a błąd dostaję nawet nie jako XML, tylko jako strona w HTML.
komentarz 8 sierpnia 2021 przez Wiciorny Ekspert (283,440 p.)

Nie, 404 to notFound i wcale nie musi tak być, że masz nieobsługiwany endpoint. 
nieobsługiwany jest też błędny... method not allowed ;] to też jest endpoint tylko z metodą nieobsługiwaną, endpoint z błędnym zestawem danych to też nieobsługiwany 

sprawdz czym jest endpoint w definicji... to nie tylko URL 

Endpointy, czyli adresy zasobów, powinny jednoznacznie wskazywać do jakiego zasobu się odwołują. Z ich budowy powinniśmy wiedzieć jaki konkretnie zasób otrzymamy. Co ważne – dane otrzymywane w API powinny być niezależne w żaden sposób od schematu bazy danych w jakiej są przetrzymywane.

Zasoby, metody, nagłówki też wchodzą w skład "endpointu " 

komentarz 8 sierpnia 2021 przez symoleon Nowicjusz (200 p.)
No mniejsza z tym, czym z definicji jest endpoint. Serwer na wszystkie zapytania DELETE odpowiada 403 z wygenerowanym HTMLem i nie mam pojęcia dlaczego tak się dzieje. Nie jest to zachowanie, które sam zaprojektowałem.
Na lokalnym serwerze Apache działa bez problemu, problem występuje dopiero na hostingu.

Podobne pytania

0 głosów
0 odpowiedzi 635 wizyt
pytanie zadane 5 września 2018 w HTML i CSS przez czujek22 Dyskutant (7,670 p.)
0 głosów
0 odpowiedzi 313 wizyt
0 głosów
1 odpowiedź 273 wizyt

93,757 zapytań

142,716 odpowiedzi

323,363 komentarzy

63,353 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...