![]() |
#11 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Kako im ipak predstavlja napor da na svom serveru odrade skriptu za utovar, isti posao može da se odradi i s klijentske strane. Na klijentu može da se modifikuje stranica - primer - doda se iframe, promeni target formulara na taj iframe, i čak uglavi skripta za cirkularno prosleđivanje formulara - dok ti redovno primaš da je referer s tvog sajta ;-)
(uglavnom, lepa je tema, moram na spavanje... nastaviću se kasnije) |
![]() |
![]() |
![]() |
#12 | |
expert
Expert
|
![]() Citat:
__________________
|
|
![]() |
![]() |
![]() |
#13 |
Goran Pilipović
Sir Write-a-Lot
|
![]() @oliver: Pa to je za sada najočiglednije rešenje...
@noviKorisnik: mislim da te nisam razumeo šta pokušavaš da kažeš. GET -> POST nije nikakvo osiguranje. Ko spamuje, njemu je sve jedno ![]() Znači, ona kada treba da pošalje poruku, mora da kline na "new message" gde mu izađe formular. Neki predlažu da tu dodam neki "secret" code u session koji proveravam kada klikne na "send". Ja sam čak nešto razmišljao da encrypt-ujem podatke, dovoljno je samo username primaoca koji se encryptuje nekim ključem...
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
![]() |
![]() |
![]() |
#14 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Dakle, "new message" pa izađe formular. A tada stupa na snagu klijentski DOM skripting - dokument može da se prilagodi za potrebe spamovanja (dodavanje ifrejma, targetiranje formulara na njega i automatika za cirkularno submitovanje).
Ovo je samo jedan primer, verovatno postoje jednostavnije metode da ti stigne info da je referer s tvog sajta a da nije sve baš "čisto". Prema onome što sam čitao može eksplicitno da se podesi koja će vrednost referera da stiže na server (ne znam kako tačno, nadam se da ne moram to da dokazujem). Verovatno može dosta da te ojadi i curlovanjem, itd. ... Ubacivanje intervala između poruka je vrlo pipava stvar koja treba da balansira između ograničavanja potencijalnog spamera i potrebe realnog korisnika za slanjem više uzastopnih poruka. (što znači da je 3 minuta već preterana vrednost, 1 minut bi već mogao da bude dopustiv za korisnika ali spameru već daje prilično komotan prostor). ... Sve pomenute muke oko hashovanja mi deluju zaludno, jer ako se jednom otvori formular mogu da se pokupe tajne vrednosti koje se tamo pronađu i iskoriste za 800 submitovanja formulara. ... Rešenje: Neka se na formularu nalazi vrednost koja može da se iskoristi najviše jednom. |
![]() |
![]() |
![]() |
#15 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Ili, uvedi ograničenja na broj poruka dnevno, klasirano:
|
![]() |
![]() |
![]() |
#16 |
Goran Pilipović
Sir Write-a-Lot
|
![]() 1 minut za pisanje poruke?
Morao sam da dignem session_lifetime na 15 minuta jer nekima ni 15 minuta nije bilo dovoljno da napisu poruku ![]() ![]() Problem je u tome sto ja novim clanovima dajem prvih 24 časa unlimited pristupa da vide kako to izgleda (malo makretinga) a kasnije im se resetuje access na FREE, i onda imaju limit od 4 poruke za 12 sati. E sad, ovi spameri se registuju i to što šalju - šalju i prvih par sati. Hteo sam da ograničim broj poruka dnevno svima, međutim onda sam primetio da neki savim regularni članovi šalju po 80-100 poruka dnevno koje nisu spam. Onda ima onih koji startuju sve što im piše Ž pored profila i šalju svima poruku "ćao ja sam ,... ako si za neobavezan sex - javi se". Iako je to neverovatno glupo, to su ipak sasvim regularne poruke i pošto su VIP članovi imaju pravo da šalju neograničen broj poruka. Dakle, problemi su višestruki, a rešenje je samo 1 ![]() Ja sam čak hteo da AJAX-ujem ali sam posle kraćeg razmišljanja provalio da ne bih ništa time dobio. Hteo sam da ecnryptujem poruke koje se descrypt-uju pred upis u bazu - nisam siguran da je to zadovoljavajuće rešenje jer bih morao da imam promenljive ključeve kao i promeljive varijable koje encrypt-ujem da bi bio siguran. Najsigurnij rešenje je ono što je neko ovde predložio, da stavim neki kod kao image pa da moraju da ukucaju kod sa slike pre slanja. Međutim to je mega smaranje i tako kažnjavam one koji su tu sasvim regularno, a takvih je ipak 99.5%.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
![]() |
![]() |
![]() |
#17 |
Filip Milivojević
Certified
Datum učlanjenja: 06.06.2005
Lokacija: Pirot (Nis), Serbia, Serbia and Montenegro
Poruke: 51
Hvala: 0
0 "Hvala" u 0 poruka
![]() |
![]() A da stavis taj kod i sliku samo korisnicima u onih prvih 24h?
Mislim da bi tako moglo i da ne bi bilo preveliko smaranje korisnika (a i sam kazes da spameri uglavnom salju te poruke u prvih nekoliko sati). Ako i vidis nekog VIP korisnika da spamuje, mozes samo i njemu da to ukljucis... |
![]() |
![]() |
![]() |
#18 | |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Bluesman, majstor si da ne pročitaš ono što napišem - 1 minut (ili 3)... minimalno vreme između slanja 2 uzastopne poruke - flood control, čini mi se da se tako zove.
Kao da sam malo dokon, pa ću citirati sebe... Citat:
Kad se formular prosledi, proveri se: - da li je tajmstemp stariji od 15 minuta - ako jeste - formular istekao - kraj - da li identifikator odgovara hešu tajnog koda servera + ida korisnika + tajmstempta - ako ne odgovara - krivotvoreni formular - kraj Ako nije puklo na ovim proverama, pokušava se upis u bazu. U slogu za upis nalazi se i identifikator formulara koji treba da ide u UNIQUE kolonu tabele, pa - ako ne uspe upis - spam - ponovno prosleđivanje istog formulara - kraj |
|
![]() |
![]() |
![]() |
#19 | |
Python Ambassador
Master
|
![]() Citat:
I dalje smatram da je u ovom unosu izloženo do sada najobuhvatnije rešenje, sve dok mi neko ne dokaže suprotno ![]() Nego sad kad nešto malo bolje razmislim - Gorane zar sistem u kome neki (privilegovani/VIP/etc) član ima mogućnost da pošalje (teoretski) neograničen broj poruka u konačnom vremenskom intervalu bez ograničenja broja poslatih poruka sa strane servera nije u suštini insecure by design?
__________________
Python Ambassador of Serbia Poslednja izmena od Petar Marić : 10. 11. 2005. u 18:41. |
|
![]() |
![]() |
![]() |
#20 |
Goran Pilipović
Sir Write-a-Lot
|
![]() U suštini jeste ali to nije suština problema
![]() Sir, You're making a scene ![]()
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Subdomain iz $_SERVER['HTTP_HOST'] | User | Regular expression i htaccess | 24 | 26. 03. 2010. 14:27 |
$_SERVER['REMOTE_ADDR'] prazan ? | Ivan | PHP | 22 | 16. 03. 2010. 19:23 |
Koristiti $_SERVER['REQUEST_TIME'] vs time()? | bluesman | PHP | 29 | 07. 11. 2009. 23:40 |
problem -> HTTP_REFERER | flash_back | PHP | 17 | 01. 02. 2007. 22:39 |