Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: CURL

Panowie mam pytanko, może ktoś będzie wiedział.

Mam stronę X. którą można za pomocą CURL'a przeglądać/wypełniać jakieś formularze itp.

Pytanie da się to zablokować.

Np ktoś się łączy curlem ze stroną i wynikiem nie bedzie strona a komunikat ze nie mozna nawiązac polaczenia. czy cos w tym stylu...
Janusz Skudrzyk

Janusz Skudrzyk Członek zarządu,
weblabs.pl

Temat: CURL

możesz sprawdzić user agenta, jak jest pusty to

echo "Nie masz UA, chyba jesteś botem" ;
exit() ;

tylko jaki sens blokować ?Janusz Skudrzyk edytował(a) ten post dnia 19.02.09 o godzinie 02:04

Temat: CURL

User agenta w curlu też na pewno da się przesłać.
Możesz cyklicznie (np. co 15 lub 20 wywołań) wymuszać potwierdzenie przez użytkownika, że nie jest botem (np. za pomocą captcha lub czegoś podobnego). Ewentualnie, możesz to wymuszać przed operacjami, których nie chcesz, żeby bot wykonał.
Jakub Kozak

Jakub Kozak www.smultron.pl

Stanisław P.

Stanisław P. Software designer

Temat: CURL

Piotr Stanek:
Panowie mam pytanko, może ktoś będzie wiedział.

Mam stronę X. którą można za pomocą CURL'a przeglądać/wypełniać jakieś formularze itp.

Pytanie da się to zablokować.

Nie.
Curl robi requesty tak samo jak przeglądarka - nie odróżnisz ich. Jeśli komuś zależy to i tak ściągnie, a jeśli nie zależy, to nie będzie go dowolna blokada obchodziła.
Zwykle takie wymyślne "blokady" tylko psują indeksowanie...
Marcin Kopczyński

Marcin Kopczyński Po prostu szczęśliwy
człowiek :)

Temat: CURL

Piotr Stanek:
Panowie mam pytanko, może ktoś będzie wiedział.

Mam stronę X. którą można za pomocą CURL'a przeglądać/wypełniać jakieś formularze itp.

Pytanie da się to zablokować.

a ja mam drugie pytanie - czy to jest zabronione?(serio pytam)
Maciej Marczuk

Maciej Marczuk Software Engineer

Temat: CURL

Marcin Kopczyński:
Piotr Stanek:
Panowie mam pytanko, może ktoś będzie wiedział.

Mam stronę X. którą można za pomocą CURL'a przeglądać/wypełniać jakieś formularze itp.

Pytanie da się to zablokować.

a ja mam drugie pytanie - czy to jest zabronione?(serio pytam)

ale blokowanie sciagajacych czy sciaganie? :)
Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: CURL

chodzi wyłącznie o to,
np jak ktoś ma się zalogować czy zarejestrować na stronie to tylko tak aby był bezpośrednio na stronie. A nie ze napisze sobie prosty skrypt i tyle..
Przemysław Szczerbicki

Przemysław Szczerbicki Programista,
freelancer

Temat: CURL

Może dodaj obrazek z tekstem do przeczytania i przepisania, tudzież prostym działaniem arytmetycznym ;)
Na pewno trochę utrudni.

pzdr.
Maciej Marczuk

Maciej Marczuk Software Engineer

Temat: CURL

Piotr Stanek:
chodzi wyłącznie o to,
np jak ktoś ma się zalogować czy zarejestrować na stronie to tylko tak aby był bezpośrednio na stronie. A nie ze napisze sobie prosty skrypt i tyle..

Jezeli chodzi tylko o strone rejestracji to mozna ja skutecznie zabezpieczyc jakas kapcza (np. http://recaptcha.net ) Nie wplynie to jakos specjalnie na odplyw userow, a roboty gugla jak wiadomo zwykle i tak sie nie rejestruja w serwisach ;)

Jezeli chodzi o logowanie:
Tutaj tez kapcza jest jakims rozwiazaniem ale w dobie dzisiejszej walki o kazdego aktywnego usera to takie rozwiazanie moze troche ta ich aktywnosc oslabic (zalezy od serwisu, w banku mozna sobie na takie zabezpieczenie logowania pozwolic, w jakiejs "kolejnej naszej-klasie" juz nie bardzo). Zaraz ktos napisze ze przeciez mozna zrobic opcje "zapamietaj mnie". Owszem mozna, ale wtedy jaki ma sens to cale zabezpieczanie skoro ktos moze zalogowac sie na przegladarce na 10 roznych userow, skopiowac ciastka i uzywac ich do logowania przez np. curla.?

Jezeli chodzi o caly serwis:
Nie da sie.
Jak juz Stanislaw napisal, mozesz jedynie sprawic ze ktos bedzie sie musial chwile dluzej napracowac nad "prostym skryptem", ewentualnie jakies lamy dadza sobie spokoj.

Moim zdaniem jedyna skuteczna metoda to kapcza przed wyswietleniem kazdej strony serwisu :)
Jakie wrazenie to zrobi na Twoich uzytkownikach i na robotach wyszukiwarek to sobie tylko wyobraz i sam ocen czy Ci sie oplaca :)

Jak chcesz jakies bardziej wymyslne patenty na "utrudnienie zycia pozyczalskim" to daj znac na priv

pozdr.

konto usunięte

Temat: CURL

a ja bym dodał małą kreacje w swf która po załadowaniu przekazywałą by do js na stronie jakąś ustaloną sumę kontrolną, jak jesteś curlem to swf nie wykonasz, ale z drugiej strony jak user nie bedzie miec playera to zrobi się problem
Stanisław P.

Stanisław P. Software designer

Temat: CURL

.swf bardzo ładnie się dekompilują. Nie jest trudno znaleźć kod i odtworzyć go po stronie skryptu. Jeśli *bardzo* komuś zależy, to można przerobić nawet któryś z opensource'owych silników flasha, żeby wykonać skrypt naprawdę.
A userzy bez flasha, albo z noscriptem będą cierpieli. Nie warto.

Jeśli chcesz zabezpieczyć zakładanie konta, to póki co idei lepszych od captcha nie ma.

Z drugiej strony - myślisz, że komuś naprawdę będzie zależało zrobić skrypt pod Twój konkretny serwis? Wystarczy zwykle powstrzymać automaty jakimś ukrytym polem, czy coś w tym stylu. Jeff Atwood ma gro użytkowników, a dalej używa statycznego obrazka ze słowem "orange" i twierdzi "I can count on two hands the number of manually entered comment spams I've gotten since I implemented it."

Czy już masz jakiś problem z robotami, czy tak pytasz na przyszłość?

Temat: CURL

Stanisław Pitucha:
[...] Jeff Atwood ma gro użytkowników, a dalej używa statycznego obrazka ze słowem "orange" i twierdzi "I can count on two hands the number of manually entered comment spams I've gotten since I implemented it."
[...]

No pewnie. Sam zastosowałem w kilku serwisach, w których pojawiały się boty, zabezpieczenie polegające na odpowiedzi na jedno i to samo pytanie. Po tej aktualizacji żaden bot mi nic nie napisał, ani się nie zarejestrował, choć zabezpieczenie mogłoby się wydawać trywialne.
Poza tym, prawda jest taka, że jakbyś swojego serwisu nie zabezpieczył, a komuś będzie bardzo zależało, że napisać pod niego jakiegoś bota, to i tak go napisze.

Następna dyskusja:

curl na lokalnym serwerze




Wyślij zaproszenie do