Autor Zpráva
xpetasik
Profil *
Dobrý den. Na mojich stránkách mám návštěvní knihu (přes databázi) a mám tam spamera. Vzdy staci odeslat vzkaz a drzet F5 a za pul minuty je tam 200 prispevku. Neslo by nejak udet, aby nesly odeslat 2 stejne vzkazy po sobe? Me by to hrozne pomohlo.

Za všechny odpovědi a rady díky ;)

xpetasik
tiso
Profil
xpetasik - pre začiatok stačí nastaviť unikátny index na text príspevku.
srigi
Profil
xpetasik
Po zapisani prispevku do DB presmeruj.
vynalezce
Profil
co takhle ukladat do databaze autora nadpis a hash textu a pak to porovnavat
srigi
Profil
vynalezce
Je zbytocnost nadalej komunikovat s DB (co je v oblasti weboveho skriptovania najvacsi "bottleneck" aplikacii), ked presmerovnie je vyborne ucinne.
pito
Profil
nebo si nechej posilat taky do db s prispevkem ip a potom ho za banuj :)
imploder
Profil
Při reloadu výpisu vzkazů po odeslání vzkazu by se neměl odeslat znovu, ať už to někdo zneužívá nebo ne. Stiskout F5 za účelem zjištění nových vzkazů může někdo i bez spamerských úmyslů. Skript volaný na přidání vzkazu nemá být tentýž, co pak vzkazy vypíše.

Může se objevit i nechtěný tzv. double-post - tj. uživateli se formulář sice odešle, ale nenačte se hned výsledná stránka, a on si tak myslí, že se vzkaz neodeslal, tak zmáčkne tlačítko znovu a tím formulář znovu odešle. Bývá to častým jevem při problémech s připojením. Řešením je časový limit mezi vzkazy od jednoho uživatele (jako tady na diskuzi min. 30 s) nebo ještě ignorování 2 stejných vzkazů od stejného uživatele po sobě.
Majkl578
Profil
tiso
vynalezce
to je dost dobra prasarna, takze clovek napise smajlika a pak uz jej nelze pouzit...

bud presmerovani nebo nejaky skryty unikatni kod
Joker
Profil
Možné řešení je uložit do session nebo cookie hash textu posledního odeslaného příspěvku... a při odeslání zkontrolovat, jestli se text liší. Samozřejmě by to narazilo ve chvíli, kdy někdo chce odeslat dvakrát za sebou stejný text úmyslně, ale to bývá vcelku výjimečné.

Další varianta je přidat do formuláře skryté pole třeba s časovou značkou, tu si při odeslání uložit a pokud uživatel znovu odešle formulář se stejnou značkou, vynadat mu.

Každopádně by nemělo být možné znovu vložit příspěvek pouhým obnovením stránky.
Majkl578
Profil
Joker
prvni moznost selze pri zakazanych susenkach
tiso
Profil
Majkl578 - tak to treba spojiť s menom autora, alebo časom (minúta, hodina, ...). Čakal som že chce rýchle riešenie.
Majkl578
Profil
tiso
tim je header
ta-k
Profil *
Mohl by mi někdo poradit konkrétní řešení stejného problému, když použiju tuto knihu bez databáze?

http://www.tvorba-webu.cz/php/kniha_navstev.php

Já php skoro nerozumim, tak jsem si chtěl tuto jednoduchou upravit. I kdyz se smaze to echo z formuláře, nebo když nakonci změním hodnotu pro kontrolu spamu třeba $kontrola = "2", po zmáčknutí F5 se objeví:

Pro zobrazení této stránky musí Firefox znovu odeslat požadavek, který zopakuje akci (jako např. hledání nebo potvrzení objednávky), která byla provedena již dříve.

a po potvrzení se vzkazy duplikují.
Medvídek
Profil
ta-k
to samý, přesměrovat.
ta-k
Profil *
Medvídek
Mohl bych poprosit o polopatický návod? Já mám jen nějaké základy html, co jsem se naučil na jakpsatweb.cz a v php jen zkouším něco změnit a pak čekám, co to udělá. Už jsem tak sesmolil do té knihy rss, ale kam bych to měl přesměrovat netusím :(.Tu knihu bude využívat pár lidí aktivně jen přes letní prázdniny prázdniny na http://chasajosefov.wz.cz/
ta-k
Profil *
sorry, ale teď vidím, že ani to úplně nefunguje, protože ten příspěvěk se mi pořád nšchtěl zobrazit
fuckin
Profil
imploder
Zde 30 sek limit nefunguje korektne.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0