Autor | Zpráva | ||
---|---|---|---|
juneau Profil |
#1 · Zasláno: 10. 2. 2012, 10:08:47
Zdravím, v mé fotogalerii budou moc návštěvníci hlasovat pro jednotlivé fotografie, pak se to nějak vyhodnotí atd. Hlasování bude omezeno na 1 IP a den, takže jeden člověk bude moci hlasovat 31x za měsíc. Problém s vnitřními sítěmi za jednou IP neřeším.
Princip hlasování bude ten, že na stránce fotka.php bude tlačítko na hlasování, které přes JS vyvolá AJAX požadavek na uložení hlasu (skript hlasovani.php?id-fotografie=XY). Tam dojde k uložení hlasu (nehlasovalo-li se). A teď mi jde o to, aby nějaký vykuk nevykoukal ze zdrojáku, že hlasování pro "jeho" fotku probíhá na "hlasovani.php?id-fotky=125" (třeba), a na hypernavštěvovaný web svého kamaráda si nenechal umístit třeba toto: <img src="http.../hlasovani.php?id-fotky=125" width="1" height="1" /> Předpokládám, že takto by dané fotografii naskakovaly tisíce hlasů od lidí, kteří vůbec nic netuší. A ptám se: Může to takto fungovat? Lze takto hlasování v mém případě ovlivnit? A především: jak se proti tomu lze bránit? |
||
Str4wberry Profil |
#2 · Zasláno: 10. 2. 2012, 10:12:08
|
||
Ugo Profil |
#3 · Zasláno: 10. 2. 2012, 10:13:29
fungovat by to mělo, moh bys to částečně asi ovlivnit tím že budeš posílat post data, podíváš se po hlavičce referera, použiješ nějaké cookies (csfr)
|
||
blast3r Profil |
No ku kazdemu nastevnikovi prirad urcite nahodne generovane ID, a to napr. uloz do cookies, a pri kazdom hlasovani kontroluj toto ID.
|
||
juneau Profil |
#5 · Zasláno: 10. 2. 2012, 10:45:20
Str4wberry:
No jistě, jsem idiot ... to jsem také zkoumal, ale nedošlo mi, jak to využít v okamžiku, kdy hlasování probíhá přes "onclick" na odkazu. Až nyní. Pořád jsem si říkal, že mi to bude k ničemu, když token uložím do SESSION ... což je právě blbost :) Tedy následující princip, že ano? // uložení tokenu do DB //... <a href="#" onclick="hlas(ID_FOTKY, TOKEN12345ABCDE );">Hlasujte ...</a> A v hlasovacím skriptu samozřejmě běžná kontrola tokenu. Děkuji za popostrčení. |
||
Časová prodleva: 11 let
|
0