Aktywne Wpisy
Larsberg +29
Otwieram kontrowersyjną nitkę z samochodami którymi wstyd jechać jako facet.
Wszelkie dziadkowozy i "damskie" auta mile widziane ( ͡° ͜ʖ ͡°)
#samochody #motoryzacja #logikaniebieskichpaskow #glupiewykopowezabawy
Wszelkie dziadkowozy i "damskie" auta mile widziane ( ͡° ͜ʖ ͡°)
#samochody #motoryzacja #logikaniebieskichpaskow #glupiewykopowezabawy
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Muszę udostępnić pewno API dla aplikacji napisanej w JS. Jaki jest najskuteczniejszy sposób na zabezpieczenie takiego API przed strzałami z CURL'a i podobnych?
Domyślam się, że niestety przed skryptami doklejonymi do przeglądarki i strzelającymi do API się raczej nie obronię...
Druga opcja to np. jeśli znasz strukturę sieciową, skąd będą przychodzić żądania - to wówczas łatwo
@husky83: ale tak właściwie to po co? Ktoś będzie chciał dane to użyje selenium zamiast curla, żadna przeszkoda. Jak nie chcesz żeby ludzie scrapowali stronę to dodaj po prostu rate limitera jakiegoś i po przekroczeniu rzucaj 429.
@husky83: nie da się tak, skoro apka jest w JSie po stronie klienta to kod jest publicznie jawny. Żadne uwierzytelnianie, ani hashe nic tu nie dadzą. Jak ktoś będzie chciał to i tak się dokopie do tych "zabezpieczeń". Referer/origin można sobie również zmienić.
Jedynie rate limiter i banowie spamerskich IP.
@Dzyszla: oczywiście, ale z tego co zrozumiałem to OP chce mieć publicznie dostępną aplikację nawet dla gości, ale chciałby, żeby requesty pochodziły tylko z "legitnie" odpalonego ajaxa z jego stronki.
Więc nawet jeśli ktoś ukradnie skrypt, to będzie on użyteczny tylko
@nowiutki: Dokładnie tak.
@Dzyszla: Ogólnie sprawa wygląda tak. Jest sobie pewna
@husky83: https://jwt.io
Oczywiście rate limitera możesz obejść korzystając z odpowiednio dużej puli proxy, captchę możesz obejść wynajmując Hindusa. Ale to już powiedzmy poważniejsze przeszkody, niż konieczność wykonania dodatkowego requesta, ustawienia kilku headerów albo puszczenia całości przez selenium. Jakby dane faktycznie były warte kradzieży, to zawsze można też wziąć