![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 1 Dołączył: 6.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Szukam odpowiedzi na pytanie jak skutecznie zabezpieczyć własne dane na stronie, przed kradzieżą przez niepowołane osoby. Załóżmy że prowadzę sklep internetowy w którym jest wiele produktów z cenami. Sklep musi być dostępny dla każdego odwiedzającego. Jednak nie chciałbym aby konkurencja mogła napisać sobie skrypt który będzie "chodził" po moim sklepie i sprawdzał jakie mam ceny - żeby sobie ustawić niższą. Macie jakieś sprawdzone na to metody ? Większość skryptów tego typu opiera się o sztywną strukturę strony i wyrażenia regularne - więc być może wystarczy wprowadzić jakąś losowość w strukturze strony. Jakieś inne ciekawe pomysły ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
jeżeli wprowadzisz jakąś losowość to i tak będzie się ona opierała o określony wzorzec i z pewnością będzie do obejścia przez wyrażenia regularne
![]() ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 1 Dołączył: 6.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że zmuszenie konkurencji do ręcznego wprowadzania danych przy odpowiedniej ilości danych mogło by pozytywnie wpłynąć na ich zniechęcenie. Przy wprowadzaniu losowości można w zasadzie zaprojektować nieskończoną ilość różnych szablonów przedstawiających od strony użytkownika dokładnie to samo. Problem w tym że jest to pracochłonne.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 4 Dołączył: 18.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
generować ceny jako obrazki przez GD? taki pomysł mi wpadł
-------------------- /dev/ulow
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
1. Używać autorskich aplikacji (których nie obsługują boty), napisanie dedykowanego bota pod jeden serwis opłaca się tylko wtedy, jeśli to naprawdę duży serwis a i tak jeśli coś zmienią to całą robotę trafia szlag
![]() 2. Używać filtrów anty-botowych, anty-spamerskich, czarnych list, rozwiązań typu limit żądań i danych dla jednego IP, jest tego cała masa, wystarczy poszukać, wybrać odpowiednie rozwiązania i zaimplementować. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 1 Dołączył: 6.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego autorskich aplikacji nie obsługują boty ? Czym one się różnią od zwykłych stron ?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 4 Dołączył: 18.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
i co, myślisz, że tego nie da się odczytać? te ceny musiałyby wyglądać jak captcha... ![]() a Ty myślisz, że ktoś specjalnie będzie zamawiać bota który odczytuje ceny z obrazków, bo chce ustawić o złotówkę niższą? -------------------- /dev/ulow
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat że ktoś specjalnie będzie zamawiać bota który odczytuje ceny z obrazków Człowieku, przecież wykorzystanie pierwszego lepszego OCR-a do takich rzeczy, to kwestia pięciu minut. Próby blokowania takich botów, to jak walka z wiatrakami - kwestia czasu, aż ktoś to złamie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 4 Dołączył: 18.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
więc ja pytam, po co w ogóle ten temat? przecież to tylko walka z wiatrakami, najlepiej nic nie rób.
-------------------- /dev/ulow
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zacznij od prostych, niepozornie wyglądających rzeczy, które dopiero w źródle strony zauważysz. Ja tak ostatnio zrobiłem prosty antybot. Jako że nie robiłem klikalnego maila, to cały adres mail w PHP napisałem "od tyłu" a na stronie zrobiłem proste jego odwrócenie przy użyciu CSS. Wygląda więc dla usera normalnie, ale próba Ctrl+C, Ctrl+V i tego typu widzi ten pisany od tyłu. Zamiast więc adres@domena.pl masz lp.anemod@serda. Sztuczka prosta, ale bot skopiuje adres bo widzi małpę. Adres jest niepoprawny i w bazie bota będzie puszczał dane w kosmos. A ktoś sobie zrobi adres ti.amo@domena.pl i co? lp.anemod@oma.it co spełnia warunki poprawności adresu mail i nawet człowiek sprawdzający maile pod kątem prawidłowych, nie wykryje przekrętu dopóki nie zajrzy w źródło strony. Z ceną można zrobić podobnie. User i tak nie zauważy odwrócenia a bot spisujący stronę nie zinterpretuje pewnie css prawidłowo tylko skopiuje wartość.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 28.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zacznij od prostych, niepozornie wyglądających rzeczy, które dopiero w źródle strony zauważysz. Ja tak ostatnio zrobiłem prosty antybot. Jako że nie robiłem klikalnego maila, to cały adres mail w PHP napisałem "od tyłu" a na stronie zrobiłem proste jego odwrócenie przy użyciu CSS. Wygląda więc dla usera normalnie, ale próba Ctrl+C, Ctrl+V i tego typu widzi ten pisany od tyłu. Zamiast więc adres@domena.pl masz lp.anemod@serda. Sztuczka prosta, ale bot skopiuje adres bo widzi małpę. Adres jest niepoprawny i w bazie bota będzie puszczał dane w kosmos. A ktoś sobie zrobi adres ti.amo@domena.pl i co? lp.anemod@oma.it co spełnia warunki poprawności adresu mail i nawet człowiek sprawdzający maile pod kątem prawidłowych, nie wykryje przekrętu dopóki nie zajrzy w źródło strony. Z ceną można zrobić podobnie. User i tak nie zauważy odwrócenia a bot spisujący stronę nie zinterpretuje pewnie css prawidłowo tylko skopiuje wartość. Przecież odwrócenie stringu to kwestia jednej funkcji. W przypadku maili ma to sens - bo boty przeszukują setki stron. Ktoś kto pisze automat pod konkretny serwis z łatwością to zauważy i obejdzie. Nie da się przed czymś takim zabezpieczyć. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Przyłączę się do erixa, nie ma sensu zabezpieczać się przed botami, możesz najwyżej utrudnić im zadanie, sprawdzając np. przesłane nagłówki.
Odwracanie stringu - jak napisał kolega @up kwestia kilku chwil, aby to obrócić. Co do generowania cen jako obrazków w GD - 20 minut i gotowe, nie zrobisz z ceny captcha przecież...wszystko musi ładnie wyglądać. Utrudnić się da - zablokować nie. Ty się namęczysz, przyjdzie ktoś na giełdę, da potrzebującemu (np. mnie ![]() Ten post edytował fifi209 14.07.2010, 00:28:24 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zacznij od prostych, niepozornie wyglądających rzeczy, które dopiero w źródle strony zauważysz. Ja tak ostatnio zrobiłem prosty antybot. Jako że nie robiłem klikalnego maila, to cały adres mail w PHP napisałem "od tyłu" a na stronie zrobiłem proste jego odwrócenie przy użyciu CSS. Wygląda więc dla usera normalnie, ale próba Ctrl+C, Ctrl+V i tego typu widzi ten pisany od tyłu. Zamiast więc adres@domena.pl masz lp.anemod@serda. Sztuczka prosta, ale bot skopiuje adres bo widzi małpę. Adres jest niepoprawny i w bazie bota będzie puszczał dane w kosmos. A ktoś sobie zrobi adres ti.amo@domena.pl i co? lp.anemod@oma.it co spełnia warunki poprawności adresu mail i nawet człowiek sprawdzający maile pod kątem prawidłowych, nie wykryje przekrętu dopóki nie zajrzy w źródło strony. Z ceną można zrobić podobnie. User i tak nie zauważy odwrócenia a bot spisujący stronę nie zinterpretuje pewnie css prawidłowo tylko skopiuje wartość. Thek to jest genialne w swojej prostocie, ale skuteczne do momentu opublikowania tego postu ![]() // edit oO już ktoś zwrócił wcześniej na to uwagę, nie zauważyłem. Teraz przyszło mi jeszcze do głowy, ale w bardzo słaby pomysł: można zastosować wstawki flashowe z jakąś prawie niezauważalną animacją. Co o tym sądzicie? Wiem, że nie każdy ma zainstalowanego flasha, a także wydajnościowo byłoby kiepsko, ale może jest to jakieś skuteczne rozwiązanie? Ten post edytował darko 14.07.2010, 02:13:51 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 28.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
@darko
Dość ciekawy pomysł. Obsługa flasha byłaby wielkim utrudnieniem dla botów (zwłaszcza takich, które zawierają w sobie pare linijek curla). Do pewnego momentu byłby też skueczny js, ajax i wszystko co jest parsowane po stronie przeglądarki. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Dość ciekawy pomysł. Obsługa flasha byłaby wielkim utrudnieniem dla botów Dla użytkowników też. Sporo po prostu tę wtyczkę wyłącza; zależy jeszcze od targetu. Cytat dla botów (zwłaszcza takich, które zawierają w sobie pare linijek curla) Napisanie bota działającego na engine przeglądarki internetowej, to kwestia 5 minut roboty - w przypadku Windows - WSH + instancja Internet Explorera i niestety, Twoje "zabezpieczenia" można sobie rozbić o kant dolnej części pleców. I nie będziesz w stanie wykryć, czy to prawdziwy użytkownik, czy przeglądarka sterowana przez skrypt. Tylko sobie roboty narobisz, a użytkowników powkurzasz (zwłaszcza tym uzależnieniem od flasha; wiele osób stosuje white-listy, że np. tylko YouTube może odpalać flasha, reszta stron już nie). Cytat Do pewnego momentu byłby też skueczny js, ajax i wszystko co jest parsowane po stronie przeglądarki. Jw, to bez sensu - uzależniać wszystko od technologii client-side, bo i tak da się to ominąć. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
wiadomo, że na dobrą sprawę nic nie jest bezpieczne. Ale tu raczej nie chodzi o to, żeby eliminowało 100% zagrożenia, a raczej jego większość.
Niedawno klient chciał "zabezpieczyć" pobieranie obrazków ze strony. Zrobiłem mu znaki wodne ale gość miał pretensje że mimo wszystko obrazek można pobrać a znak wodny wyciąć w photoshopie. Szczęśliwy był dopiero, gdy ... zablokowałem mu prawy przycisk myszy i nie miał dostępu do menu kontekstowego ![]() Analogicznie do tej sytuacji: małym nakładem sił, stosując niektóre z podanych tu metod można stworzyć stronę, która nie będzie w 100% bezpieczna, ale pozbędzie się 90% zagrożeń, a pozostałych może zniechęcić. Napisanie prostego skryptu, który będzie buszował po stronie to nic trudnego, ale taki, który odczyta obrazki z cenami, obejdzie losowość strony, zczyta odwrotnie wpisany adres email itp itd już nie każdy napisze, a Ci którzy go napiszą, odpowiednio sobie zań policzą. I tutaj potencjalny napastnik zada sobie pytanie - czy mu się to opłaca - wszak podobnych sklepów które się nie zabezpieczają jest mnóstwo, a w naszym musi się dodatkowo liczyć z tym , że jego drogi, dedykowany pod nasz sklep bot w przypadku wprowadzania kolejnych zabezpieczeń będzie wymagał kolejnych rozwinięć, nakładów finansowych, czasowych. Moja opinia to odpowiednio dobrać współczynnik potrzeb do ceny/czasu i zaimplementować wystarczające zabezpieczenia do naszych potrzeb, najmniejszym możliwym nakładem Ten post edytował zordon 14.07.2010, 12:39:41 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Okazało się, że jego konkurencja to żadni hakerzy - po prostu wchodzą na stronę i pobierają grafikę. Ten prosty sposób odciął mu od strony 90% "złodzei". Pozostałe 10% jak zechce i tak może wyciąć znak wodny - tylko czy będzie im się chciało? Ta bajka nie może być prawdą, po pierwsze jak sprawdzić czy ktoś nie pobiera obrazków skoro robił to ręcznie? Wystarczy wyłączyć javascript lub "zapisz stronę jako" i pobierze z obrazkami, nawet wygodniejszy sposób bo wszystkie ściągamy od razu. ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dla użytkowników też. Sporo po prostu tę wtyczkę wyłącza; zależy jeszcze od targetu. Można sprawdzić czy użytkownik ma zainstalowanego flasha, ale - niestety - nie można sprawdzić czy ma włączoną jego obsługę i tutaj moja koncepcja upada. ![]() -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ta bajka nie może być prawdą, po pierwsze jak sprawdzić czy ktoś nie pobiera obrazków skoro robił to ręcznie? Wystarczy wyłączyć javascript lub "zapisz stronę jako" i pobierze z obrazkami, nawet wygodniejszy sposób bo wszystkie ściągamy od razu. ![]() nie zrozumiałeś. Ja nie mówię, że to było bezpieczne. Chodzi o to, że większość "konkurencji" mojego klienta nie miała pojęcia, że można wyłączyć javascript, czyli innymi słowy "obejść" to wielce skomplikowane zabezpieczenie ![]() W tym wypadku taka mała, błyskawiczna korekta skryptu dała mi poziom zabezpieczenia, którego on oczekiwał i dla niego było skuteczniejsze niż znak wodny! W przypadku sklepu zabezpieczenia są na innym poziomie ale jak się dokładnie przeczyta mój post (i go zrozumie) to można zauważyć ANALOGIĘ, o której wspominałem |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:32 |