![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z webapi allegro. Mają ustawiony limit zapytań po przekroczeniu którego IP jest blokowane i trzeba przejść pod adres http://webapi.allegro.pl/blocked/index.php wpisać captche i blokada znika. Trzeb tam przejść z IP na którym jest blokada i w przypadku serwerów www jest problem...
Pomyślałem że można by wykorzystać cURL, pobrać obrazek captcha i wysłać zapytanie przez cURL z kodem i ciastkiem. Niby wszystko jest ok ale formularz zawiera dodatkowo token... Formularz:
Po pobraniu formularza przez cURL nie ma tego tokena w kodzie html a bez niego formularz nie przechodzi. HELP! Mój kod:
Ten post edytował duch4ever 27.11.2014, 00:10:11 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A nie łatwiej daćprzerwy między requestami?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem sleep(3); ale nie pomaga.
Co ciekawe lokalnie kod działa i token się pojawia a na serwerze nazwa.pl już nie ;/, ciastko lokalna ma więcej parametrów. W czym może być różnica? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o CSRF, to zabezpieczenie, które stosuje się we wszystkich nowoczesnych aplikacjach.
Formularz powinien zostać wypełniony na tamtej stronie, możesz go wyświetlić w ramce iframe jeżeli bardzo Ci na tym zależy. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za info, za zabezpieczenie jak mniemam odpowiada owy token, ale dlaczego raz się pojawia w formularzu pobranym przez cURL a raz nie?
Iframe raczej odpada bo formularz musi być wysłany z IP serwera a nie mojego. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Tak, token musi być przesłany bo określa on po części "intencje" użytkownika i blokuje spamowanie takich endpointów przez boty.
Dlaczego jednak czasami go otrzymujesz a czasami nie, to nie mam pojęcia. Musisz zbadać problem, może to są różne formularze? Albo jeżeli używasz regex-a to masz zły wzorzec. No nie wiem, za mało informacji żebym mógł cokolwiek stwierdzić. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Regex jest ok bo podglądam również kod dla pewności, token nie pojawia się jeśli wyłączę cookies w przeglądarce ale dlaczego przy identycznym skrypcie cURL czasem działa a czasem nie?
Może jest jakiś inny sposób przy puścić ruch przez serwer (bez dostępu do ssh itp.)? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Możesz wywołać file_get_contents ale to prymitywne rozwiązanie.
Próbowałeś szukać jakiś bibliotek do takich rzeczy? Jest tego masa. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Każda z bibliotek działa na bazie cURL więc działa tak samo jak mój kod.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 1.10.2025 - 10:41 |