Captach - poziom bezpieczeństwa

Witam…

Właśnie napisałem skrytp captacha… niech ktoś mi oceni poziom czytelnośći oraz poziom bezpieczeństwa przed bootami…

http://wolanie.forall.pl/test/

Z góry dzięki…

IMHO czytelność bardzo dobra.

A boty jak to boty, utalentowany programista złamie każde zabezpieczenie.

Bez problemu odczytuje, więc jest ok.

no spoko a coś na temat bootów… ?!

Łamanie captcha to obszerny temat. 99% jeśli nie wszystkie da się złamać.

basefy9.th.jpg

  1. Baza.

  2. Przekonwertowanie do szarości.

  3. Uwydatnienie krawędzi.

  4. Zamiana koloru innego od białego na czarny.

Teraz należy wyodrębnić poszczególne znaki, porównać ze wzorem i captcha złamana.

Druga kwestia to to, iż wiele zabezpieczeń można obejść bez zaprzęgania OCR’ a.

Możesz też dodać coś w tylu logiki, czyli np. kotki jak na rapidshare, czy wpisywanie znaków od końca.

Być może to pomoże.

prócz samego obrazka i jego czytelności, duże znaczenie ma także budowa formularza w którym zostanie on użyty… bo nawet najlepszy obrazek nic nie da jak zostanie źle wykorzystany :wink:

pozatym, wydaje mi się, że jako tło wykorzystujesz kilka gotowych grafik, co też nie jest dobrym pomysłem

Czytelna dla człowieka, dla botów zapewne też. Captcha ogólnie nie jest zbyt dobreym zabezpieczeniem - tutaj jest świetny artykuł na ten temat. Na tej samej stronie znajduje się też artykuł o mniej inwazyjnych sposobach przeciwdziałania spamowi.

no to dobrze, że chociarz jest czytelny… zmienilem tlo na czarne kreski co powinno chociarz toroszkę zmylyć booty…

ogólnie starałem sie zrobić czytelny i do pewnego stopnia troszkę wymagacący captach…

  • zmienia się tło

  • zmienia się czcionka

  • zmienia się kolor

  • zmienia się położenie

  • zmienia sie liczba liter

  • zmienia sie wielkość

  • zmienia się rotacja

  • litery się łączą

ale nie wiem czy jest możliwość zniekształcenia liter przez php… wiecie może coś na ten temat ?!

a jakby zrobić tak.

-zamiast gifa wstawić flasha

  • we flashu metodą sendAndLoad komunikować się z plikiem php który z kolei generowałby losowy kod i wysyłał do flaka

  • flash sam generowałby sobie obrazki i formularz obok

  • Jak dla mnie sa oczywiste - nic nie potrafi jeszcze dobrze czytać danych flashowych a już dynamicznych tym bardziej

a skąd by niby był flash na serwerze ?! Jakoś nie kojaże kodu do generowania pliku .swf lub .fly

ps. mój skrypt nie generuje GIFa tylko PNG…

A czy ja mówiłem o generowaniu fla czy swf ? :slight_smile: Chodzi o to że można bez problemu komunikować flasha z php i w ten sposób generować captcha

http://pl.php.net/manual/pl/ref.swf.php

Od siebie dodam, że CAPTHA, która może być niezrozumiała dla człowieka (w niektórych przypadkach trzeba się mocno przyjrzeć obrazkowi ;/ ) może być zrozumiała dla bota. Z tego też powodu (oraz z tego, że boty są coraz mądrzejsze) odchodzi się od obrazka CAPHTA. W grę może wchodzić jakieś pytanie, wykonanie działania (np. oblicz ile jest 2 + 3). Ale IMO ciekawą metodą są takie zabezpieczenia, które w ogóle nie wymagają od użytkownika żadnej reakcji (ukryte pola, pola które nie mogą być wypełnione, odpowiednia zabawa javascript, itp.).

Wystarczy doinstalować ming i można generować proste animacje swf a tym bardziej tekst i to w dosyć prosty sposób.

Zapodam link do świetnego kursu obsługi ming

http://jerryscript.hostrocket.com/php/ming/lessons/

Dobra :slight_smile: nudziło mi się przed meczem więc wyklepałem coś takiego

http://punkomuzykant.lua.pl/captcha/captcha.html

Cudowne to może nie jest ale mniej więcej coś takiego miałem na myśli.

Tu kod dla tych co nie mają flasha

//pobieranie danych z bazy

function pobierz_dane() {

	var jakas_tresc:String = "■■■■ ■■■■";

	var result_lv:LoadVars = new LoadVars();

	result_lv.onLoad = function(success:Boolean) {

		if (success) {

			generowanie_napisu(this.dane_z_php);

		} else {

			trace("Error connecting to server.");

		}

	};

	var send_lv:LoadVars = new LoadVars();

	send_lv.tresc_fla = jakas_tresc;

	send_lv.sendAndLoad("captcha.php?", result_lv, "POST");

}

pobierz_dane();

function generowanie_napisu(dane_z_php) {


	captch.text = dane_z_php;

	wyslij.enabled = false;

	sprawdz.onChanged = function() {

		if (sprawdz.text == dane_z_php) {

			wyslij.enabled = true;

		} else {

			wyslij.enabled = false;

		}

	};

}

wyslij.onPress = function(){

this.label = "Dzięki"

pobierz_dane();

sprawdz.text = "";

}

http://punkomuzykant.lua.pl/captcha.rara tu paczka ze źródłami do wglądu. Trzeba tylko zmienić ścieżkę na swój adres lacalhost do testów we flaku. No myślę że jakby takie coś rozbudować konkretnie to nie ma bata żeby coś potrafiło to przeczytać. Jakieś ruszające się wektory w tle itp sprawy + można by animować w lekki sposób sam tekst np. Nie wiem co myślicie