Autor | Zpráva | ||
---|---|---|---|
Acemason Profil |
#1 · Zasláno: 15. 1. 2009, 14:04:45
mám prosbičku, nevím si rady se scriptem (kontrolním kódem), který má hlídat spamové roboty.
Potřebuji, aby se formulář neodeslal bez zadání správného čísla. Jsem asi trubka , ale nevím jak správně zapsat"onSubmit=" stránka: http://www.acemasons.wz.cz/formular.html Nebo nevíte o nějakém asp scriptu (javasriptu, captcha apod.), který bych mohl umístit jednoduše do formuláře? Budu moc vděčný za radu. |
||
Joker Profil |
#2 · Zasláno: 15. 1. 2009, 14:13:44
Acemason
Nechci být pesimista, ale podle mě Javascriptové "neodeslání" formuláře nepomůže, protože roboti budou nějaký Javascript vesele ignorovat a prostě data odešlou na adresu, která je v atributu action u formuláře. |
||
Acemason Profil |
#3 · Zasláno: 15. 1. 2009, 19:55:06
Díky, a nevíš o nějakém jiném zabezpečení formuláře, které by roboty zastavilo?
|
||
Medvídek Profil |
#4 · Zasláno: 15. 1. 2009, 19:56:37 · Upravil/a: Medvídek
Acemason
Třeba jako je na této diskusi: <span id="spamprotirobotum">Ochrana proti spamu. Napište prosím číslo dvacet: <input type="text" name="robot" value="" id="protirobotum"></span> <script> /* tento skript vloží do příslušného políčka */ document.getElementById("protirobotum").value="20"; document.getElementById("spamprotirobotum").style.display = "none"; </script> |
||
Měsíček Profil |
#5 · Zasláno: 15. 1. 2009, 19:57:02
Normálně, ovšem na straně serveru (PHP, ASP ...).
|
||
Acemason Profil |
#6 · Zasláno: 15. 1. 2009, 22:40:17
Díky moc, ale jak poté (v asp, nebo v javascriptu) ošetřím, aby robotem odeslaný formulář bez tyto hodnoty vůbec neodešel? (nebo byl přesměrován na jinou stránku)
|
||
imploder Profil |
#7 · Zasláno: 15. 1. 2009, 22:54:02
Clen
V ASP vubec netusim, ale v javascriptu to proste zajistit nepujde. Robot totiz ten javascript vubec nespusti. Ale to nevadi - formular odejde, na serveru se to cislo overi a podle toho se rozhodne o vlozeni/zahozeni. Javascript se jako ochrana pred roboty pouziva prave proto, ze ho ignoruji. Kdyz teda ve formulari neco javascriptem zmenis, tak v normalnim (ehm... v tomhle teda ne :)) prohlizeci se to projevi, zatimco robot to necha tak. Tak je mozne robota rozeznat. Zaroven by melo pokud mozno jit odeslat formular i bez JS - pak, jako tady, tu zmenu (vyplneni spravneho cisla) musi udelat uzivatel. |
||
Časová prodleva: 3 dny
|
|||
Acemason Profil |
#8 · Zasláno: 18. 1. 2009, 20:53:22
Děkuju všem za nápady, nakonec jsem našel na webu vyhovující captchu v asp.
http://thenetguys.us/Home/Encode.asp |
||
imploder Profil |
#9 · Zasláno: 18. 1. 2009, 20:59:48
Acemason
CAPTCHA (tj. úkolování člověka, aby prokázal, že je člověk) už z principu zrovna vyhovující není. Když existují minimálně stejně vyhovující neviditelná řešení. Tamta captcha je úplně blbá, pochybuju, že to zrnění to nějak vytrhne. Akorát je pak protivné to číst lidem. |
||
Acemason Profil |
#10 · Zasláno: 19. 1. 2009, 10:00:57 · Upravil/a: Acemason
Upravil jsem ji tak, aby se to dalo alespoň přečíst a dle potřeby se dá upravovat i to "zrnění".
|
||
imploder Profil |
#11 · Zasláno: 19. 1. 2009, 11:26:59
Acemason
To pak zase přečtou roboti. Jen pro představu, jaké captchy uměl před rokem a půl překonat jeden ruský spambot. To bylo před rokem a půl, nové verze toho spambota umí údajně i se 100% úspěšností přečíst "neporazitelné" captchy na googlu. Pokud není obrázek vážně promakaný, proti schopnějším robotům už dneska nefunguje. A bude jenom hůř, jen uživatele bude to opisování otravovat pořád stejně. Nechápu, proč nepoužiješ nějakou JS ochranu nebo past s tlačítkama a nevyplňovanýma skrytýma políčkama. I když nepochybuju, že i tohle se roboti budou snažit překonat, je tam větší výběr různých variant zabezpečení a něco z toho určitě zabere. Zatím v tom roboti zřejmě moc nepokročili, jak je vidět na nezaspamovanosti této diskuze a jiných stránek s podobným řešením. |
||
Acemason Profil |
#12 · Zasláno: 19. 1. 2009, 22:26:35
Uvidím jak to půjde dál, třeba se poučím a dám na tvojí radu (taky až budu mít víc času na pokusy).
|
||
Časová prodleva: 1 měsíc
|
|||
horava2 Profil |
#13 · Zasláno: 24. 2. 2009, 22:32:15
pouzil jsem tento kod:
<span id="spamprotirobotum">Ochrana proti spamu. Napište prosím číslo dvacet: <input type="text" name="robot" value="" id="protirobotum"></span> <script> document.getElementById("protirobotum").value="20"; document.getElementById("spamprotirobotum").style.display = "none"; </script> Ale nejde to. script jsem vlozil do hlavicky a input tam kde potrebuji. ale at zadam do input cokoli, tak stejne to projde. |
||
DJ Miky Profil |
#14 · Zasláno: 24. 2. 2009, 22:40:31
Musíš ještě na straně serveru (třeba PHP) kontrolovat, zda je v poli robot zadáno 20.
|
||
horava2 Profil |
#15 · Zasláno: 24. 2. 2009, 22:42:49
„Musíš ještě na straně serveru (třeba PHP) kontrolovat, zda je v poli robot zadáno 20.“
napr. takto ? <?php session_start(); if(strtolower($_POST["robot"]) == "20") { echo("Uzivatel"); } else { echo("Robot"); } ?> |
||
Časová prodleva: 15 let
|
0