Autor Zpráva
Kalda
Profil *
Chtěl bych na webu zakázat několikanásobné odesílání formulářů.

Základní několikanásobné odesílání (přes několikrát stisknuté odeslání formuláře) mám zakázané na serveru pomocí JavaScriptu. Stejně tak monitoruji na serveru obsahy několika naposledy odeslaných formulářů a pakliže se rovnají, pak se ten nově odeslaný formulář server nezpracuje.

Ale - chtěl bych nějakým šetrným způsobem zabránit tomu, aby někdo nemohl neustále kolem dokola odesílat formuláře. Samozřejmě tím někým nemusí být škodící uživatelé, ale např. zákeřně napsaní roboti, kteří hrnou data přes nějaké skripty.

Tedy např. - uvažuji-li extrémní případ - jeden člověk za den odešle nejvíce 10 různých formulářů. Ať je nějaká rezerva pro "extremisty", řekněme, že bych chtěl nastavit limit, že jeden člověk může jeden den odeslat 20 různých formulářů.

A teď by mě zajímal mechanismus, jakým sledovat, kolikrát odeslal uživatel formulář.
Pakliže nastavím kontrolu pouze na IP adresu - můžu "zkrachovat", protože z dané IP adresy může být náhodou více aktivních uživatelů.

Pakliže nastavím kontrolu kromě IP ještě v na nějakou položku ve formuláři (např. telefon, email) nebo ji navážu na nějakou vlastnost prohlížeče (Accept, User-Agent), tak naopak v případě, že by někdo napsal robota, který má za úkol posílat data na web, tak nechá vcelku snadno náhodně generovat nějakou položku, aby dosáhl dojmu "odlišnosti".

Pak mě ještě napadla možnost povolit odesílání z jedné IP adresy až po určitém časovém úseku (např. 60 vteřinách). Ale opět platí stejná výhrada jako předtím - co dělat v případě, že z jedné IP adresy je velký provoz.

Díky za jakékoliv tipy a rady, jak byste tento problém řešili Vy.
Anonymní
Profil *
IP. Z jednej IP mode byt v jednu chvilu prihlasemy iba jeden clovek
Peterson
Profil *
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=17&topic=1 4806
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=17&topic=1 5191
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=17&topic=1 4344
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=18&topic=1 5085
igamenir
Profil
> IP. Z jednej IP mode byt v jednu chvilu prihlasemy iba jeden clovek
Není pravda. Pokud se k internetu připojuji z místní sítě, všechny počítače se hlásí pod stejnou IP určenou providerem.
Kalda
Profil *
Peterson
Díky, ale tam se neřeší přesně tenhle problém. Neřeším problém SPAMu ve formuláři - mám formuláře, které se dále nějak zpracovávají a rozesílají emaily. Jde mi o to, aby je nebylo možné zneužívat roboty atd.
Tady nejde o komentáře, řešení přes Ajax není v tomto případě řešením, Captcha taky ne...

Tedy možná jsi mi vnukl myšlenku - co takhle zkombinovat kontrolu tak, že by se dala Captcha proti robotům a pak se prováděla kontrola proti IP spolu s kontaktem uvedeným ve formuláři - robot by neobešel captcha řešení a naopak kontaktem ve formuláři bych poměrně přesně identifikoval daného člověka. Samozřejmě i toto má své slabiny, ale zatím se mi to jeví nejsympatičtějí...
Jen možná místo captcha obrázku něco jiného, kvůli přístupnosti.

Co si o tom myslíte ostatní?
Peterson
Profil *
Kalda
Na každého se musí jinak, co funguje na záškodnické uživatele nemusí fungovat na roboty. Nejlepší je kombinovat více metod dohromady. Hledáním naleznete další informace i o zabezpečení před uživateli.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0