Autor Zpráva
joe
Profil
Narazil jsem na chybu, pokud jsem měl otevřenou jednu diskusi, tam jsem napsal odpověď a neodesl ji, pak jsem si otevřel jinou diskusi, do které jsem napsal odpověď a hned odeslal (zobrazila se). Přepnul jsem se na původní diskusi a nebylo mi dovoleno mojí odpověď odeslat (ochrana proti spamu - 30 s). Počkal jsem 30 s, ale ani pak mi odpověď nešla přidat - dostával jsem stále hlášku, že příspěvek je duplicitní, stačilo připsat cokoli (asi kontrola hashe) a příspěvek se odeslal :-)
Joker
Profil
joe:
Ta kontrola co nedovolí odeslat znovu stejný příspěvek je vlastnost (taky je to otravné při odsouhlasování moderátorských akcí ve více vláknech u ledu, kdy místo třeba jen„souhlas“ se musí používat dvě varianty textu).

Odhaduji, že chyba je v tom, že se příspěvek uloží i když ho zastaví ta protispamová ochrana.
joe
Profil
Joker:
Ta kontrola co nedovolí odeslat znovu stejný příspěvek je vlastnost
Vlastnost chápu, ale ke skutečnému uložení příspěvku nedošlo, proto jsem to sem napsal :-) (po znovunačtení stránky nový příspěvek v diskusi nebyl, jen v poli pro odpověď (počítám s tím, že se ukládá do localStorage))
Chamurappi
Profil
Reaguji na joa:
dostával jsem stále hlášku, že příspěvek je duplicitní
Protože se při prvním uložení nastavila cookie s hashem příspěvku.
Je chyba, že se nastaví, i když se příspěvek neuloží.

nebylo mi dovoleno mojí odpověď odeslat (ochrana proti spamu - 30 s)
U moderátorů je tato ochrana vynechaná, takže vlastně nemáme ozkoušeno, jak funguje. Pamatuji si, že fungovala divně :-)
Str4wberry
Profil
Zkusil jsem to teď v sandboxu a zmíněný problém tam již nepozoruji.

Kontrola duplicity by se moderátorům mohla teoreticky vypnout, nicméně po předchozích zkušenostech mi přijde, že je vhodnější, když diskuse funguje všem co nejvíce podobně.
Petr ZZZ
Profil
Reaguji na Chamurappiho:
„U moderátorů je tato ochrana vynechaná“

To, co zmiňuje Joker, je tedy ještě nějaká další ochrana? Taky jsem to nedávno pozoroval – jednou jsem musel psát "smazat", poté "smáznout", pak zas "vymazat" atd... Prostě mi to nechtělo vzít dvakrát stejný příspěvek. (Asi to bylo v sandboxu, ale nejsem si jistý.)
Chamurappi
Profil
Reaguji na Petra ZZZ:
Viz můj odkaz.
Ano, třicetisekundová ochrana proti spamu je jiná ochrana.
Str4wberry
Profil
Abych to shrnul, při odeslání se provádějí následující kontroly:

1) Ověření, zda příspěvek neobsahuje nějaké ze zakázaných slov (badwords.txt).
2) Kontrola duplicity. Uloží se md5 otisk příspěvku do sušenky s dvoudenní platností, před odesláním se kontroluje shoda aktuálního příspěvku a toho předchozího z cookie.
3) Ověření uživatelského jména. Nesmí být prázdné a musí vyhovovat regulárnímu výrazu.
4) Ověření neprázdnosti příspěvku.
5) Kontrola proti robotům (testuje se hodnota, kterou vyplňuje JS do skrytého <input>u).
6) Kontrola zamčenosti vlákna.
7) Ochrana proti spamu. Před vložením příspěvku se provede dotaz, který zkontroluje, že v dané době uživatel nevložil žádný příspěvek.

Problém, který popisuje joe, je v tom, že se otisk zprávy uložil do sušenky i v případě, že se příspěvek neuložil do DB.

Co si pamatuji, tak ta ochrana proti spamu měla nepěknou vlastnost, že každý pokus o odeslání v nedovolené době 30 sekund tu dobu vyresetoval a bylo třeba zase čekat 30 sekund. Co jsem to dnes zkoušel, tak už se to neděje.
Chamurappi
Profil
Reaguji na Str4wberryho:
Kontrola duplicity. Uloží se md5 otisk příspěvku do sušenky s dvoudenní platností
Děje se kontrola duplicity i při zakládání nového vlákna? Připadá mi, že ne.
Str4wberry
Profil
Zkusil jsem a vypadá to, že obsah zprávy se na duplicitu testuje, titulek nikoliv.
Chamurappi
Profil
Reaguji na Str4wberryho:
Jak vysvětlit duplicitu od uživatele mikke? Text obou příspěvků mi připadá totožný. Cookies zapnuté má, jinak by se nezaznamenaly jeho návštěvy ve vláknech, do nichž nepsal.
Str4wberry
Profil
Pravděpodobně to tak funguje jenom v sandboxu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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