Planiranje i usability Planiranje, legalnost, privatnost, arhitektura, principi |
|
Alati teme | Način prikaza |
02. 08. 2006. | #1 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Zastita od spidera
Generalno me interesuje sta covek moze da uradi da spreci custom made spidere da mu pokupe podatke sa sajta, a sa druge strane da omoguci obicnim korisnicima i botovima regularno kupljenje sadrzaja?
Eliminacija po user agentu je nekad imala smisla, ali sada je manje-vise bezvredna (eventualno se moze koristiti za prepoznavanje ko bi mogao biti obican posetilac - tesko da ce neko iz dosade menjati user agent firefoxu ili tome slicno) - spider se bez problema predstavlja i kao bot i kao browser, po potrebi. Eliminacija po IP adresi bi mozda imala najvise smisla - kada bih mogao sa sigurnoscu da znam kada je doticni korisnik napravio prethodni request, pa ako je poslednjih nekoliko zahteva napravljeno u x sekundi, uraditi nesto... Eliminacija kroz robots.txt takodje otpada jer se oslanja na user-agent. Mozda neki metod koji modifikuje sam sadrzaj na takav nacin da je tesko napisati spider koji moze da pohvata korektne podatke svaki put? Palo mi je na pamet da bi moglo da se uradi nesto sa javascriptom, ali bi to znacilo da ce pretrazivaci imati problema sa kupljenjem korisnog sadrzaja... Predlozi?
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
03. 08. 2006. | #2 |
Ivan Dilber
Sir Write-a-Lot
|
sve zavisi od kog spajdera se branis... univerzalni spajderi su glupi i njih je lako zeznuti, samo izbegavaj uobicajene patterne (email harvesteri su primer tipskog spajdera, i kao sto znas lako ih je zeznuti)...
ali custom spajderi su druga prica, a posto sam ih napravio jako puno, mogu da ti odmah kazem da ako se neko namerio da ti pokupi sajt vrlo male su sanse da se odbranis... mi smo skidali razne sajtove i sa gotcha slikama (napravi se OCR) i sa javascriptom (sednes pa provalis sta se desaca u kodu i onda umesto htmla parsiras js) i sve zivo...sa logovanjem ili bez, sa pamcenjem IP-ja, ma sve moze da se provali... Mozes da se branis sa nekoliko stvari...prvo da zabranis pristup sa free proxija i da pratis IP-jeve, dalje mozes da probas da pratis vreme izmedju zahteva i prosecan broj zahteva, posto roboti surfuju mnogo brze od ljudi. Najbolje sto mozes da uradis je da vrsis male suptilne randomizacije elemenata na strani, jer roboti uglavnom koriste regexpe da bi pokupili bitne podatke. Ti regexpi se oslanjaju na uocljive elemente strane, tipa ako skidam tabelu sa podacima, razlikovacu je od ostaih tabela na strani sto je to npr. drugi <table tag iza nekog naslova... Ako mi ubacis random table s vremena na vreme zeznuo si me, i dobijam pogresne podatke. Ili nesto skroz jednostavno da ponekad pises id="pera", a ponekad id='pera', ili zamenis redosled kolona u tabeli i sl. Glavna fora je da je autoru spajdera jako tesko da takav bug provali, jer su razlike male i tsko primetne i izgubice puno vremena oko toga...a naravno tvoj ideja je upravo da ga smoris toliko da odustane...
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 03. 08. 2006. u 13:42. |
03. 08. 2006. | #3 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Pa, zapravo sam mislio da implementiram nesto tog tipa, da pratim broj zahteva i ako skontam da bi mogao biti u pitanju spider, da pocnem da modifikujem podatke na slican nacin, tako da vecina regexpa pada u vodu, ili ako ne pada, da kupi pogresne podatke.
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
03. 08. 2006. | #4 |
Ivan Dilber
Sir Write-a-Lot
|
evo jos par ideja kojih sam se setio da su namucile:
- kontrolisi sessione i referere i menjaj session ID kod svakog slanja stranice (ovo nije neka odbrana, samo "gnjavaza" za autora spajdera, da ga smoris, usporis spajderovanje, i nateras ga da pokrene puno procesa na serveru) - Rezultate listaj preko search-a, nemoj da dozvoljavas da se browsuje ceo sadrzaj. Naravno onda mozes da randomizujes blago formu izmedju upita, da bi provalio automatske upite. - Ukoliko search vrati puno rezultata, ti vrati npr. samo prvih 100, ili samo prvih 5 strana (opet nacin da drasticno usporis spajdering)
__________________
Leadership is the art of getting people to want to do what you know must be done. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Zastita intelektualne svojine | Milos Jankovic | e-Business | 7 | 29. 05. 2009. 15:38 |
Zastita mySQL baze | SadClown | SQL baze podataka - Sponzor: Baze-Podataka.net | 5 | 21. 10. 2007. 22:38 |
Potrebna Pomoc oko Zastita CD-a (ocx,dll...) | Dzigilibonglica | Programiranje | 42 | 24. 05. 2007. 17:27 |
Zastita programa od kopiranja | colke | Programiranje | 11 | 23. 11. 2006. 18:29 |
zastita komercijalnih php skripti ? | ivanhoe | PHP | 5 | 05. 06. 2006. 19:17 |