Flash Captcha AntiSpam


In ultimul timp au inceput sa apara probleme legate de spam si cu formularele de contact realizate in Flash. Robotii de spam au invatat cum sa le completeze si sa le trimita chiar si pe acestea… Singura solutie optima consta in realizarea si implementarea unui cod antispam (sau captcha).

Sunt mai multe tipuri de astfel de module antispam, dar sa le luam pe rand.

In primul rand este clasicul numar + numar = ?.

Sa vedem cum il putem realiza. In Flash desenati un text field dinamic numit show, un text field input numit ver si inca unul dinamic numit rez. Tot in Stage mai adaugati si un buton numit buton (pentru exemplu am daugat un buton predefinit din componentele Flash-ului).

In cadrul field-ului show vom afisa numerele ce trebuiesc adunate, in rez vom afisa un mesaj daca valoarea introdusa in campul ver este identica cu codul nostru, iar butonul are rolul de a apela functia ce face verificarea.

var captcha:Number = random(30);
var number1:Number = random(captcha);
var number2:Number = captcha - number1;

Pentru exemplul de numar + numar = rezultat avem nevoie de 3 variabile: captcha care va contine numarul final (puteti genera orice numar random), number1 care va lua o valoare random din intervalul 0 – valoare captcha si number2 care va reprezenta diferenta dintre valoarea captcha si valoarea number1. Astfel vom avea doua numere care adunate vor da codul nostru de securitate antispam.

function verifica(cod) {
	if(cod == captcha) {
		rez.text = "OK";
	} else {
		rez.text = "NOT OK";
	}
}

Functia de verificare este foarte simpla. Analizam comparativ cele doua variabile (valoarea captcha si valoarea unei variabile numita cod) si vom afisa un mesaj in functie de rezultat.

buton.onPress = function() { verifica(ver.text); }

Butonul nostru va apela functia verifica() si ii va transmite parametrului acesteia cod valoarea campului de input ver.

O alta varianta pentru un modul captcha antispam ar fi verificarea prin copierea unor caractere random.

Sa vedem cum se face si acest modul. Asezarea in Stage va fi la fel ca la cel precedent.

var alphabet:Array = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
var captcha:String = alphabet[random(alphabet.length)] + alphabet[random(alphabet.length)] + alphabet[random(alphabet.length)];

Vom crea un vector cu toate literele din alfabet (puteti citi mai multe despre acesta in cadrul articolului flash virtual keyboard) iar variabila captcha de data aceasta va fi de tip string si va avea 3 valori random din cadrul alfabetului.

Verificarea este aceeasi ca si mai sus. Puteti adauga oricate litere doriti variabilei captcha. Toata treaba este case sensitive, dar daca vreti sa nu se tina cont de litera mare/mica, modificati comparatia din cadrul functiei verifica().

if(cod.toUpperCase() == captcha) {

Acum toate literele introduse de utilizator vor fi scrie cu litera mare.

Spor la combaterea spamului si clasicul c’ya next time!



Ti-a placut articolul Flash Captcha AntiSpam?

Ai nevoie de rezolvarea unei probleme la informatica?

Iti recomandam si urmatoarele articole:

Discuta articolul Flash Captcha AntiSpam



Contul tau

Categorii

Mozku Network

Ne gasesti si pe Facebook

Articole noi

Fisiere populare

  • Proiect Atestat Informatica Visual FoxPro (439)
  • Twitter Patterns (202)
  • Flash Newsletter (126)
  • hitTest Flash (99)
  • Baza de date auto revizuita (98)

Marcaje articole