Niedawno zarejestrowałem się na stronie oneplusone https://account.oneplus.net/sign-up i zauważyłem to pole wyboru recaptcha
Jak to działa i jak mogę go używać w moich witrynach? O wiele lepiej niż te tajemnicze słowa / cyfry :)
Witryna recaptcha nie wspomina o żadnej nowej metodzie recaptcha ... https://www.google.com/recaptcha/intro/index.html
$('form input[type=submit]') .before('<div>Are you a human? <input type="checkbox" name="captcha" /></div>');
boty nie zaznaczą pola, ponieważ nie jest to część formularza. jsfiddle.net/s6jkchmzOdpowiedzi:
To jest beta API dla reCAPTCHA. Zbieram to ze źródła ich JS API: https://www.google.com/recaptcha/api.js odwołując się do „API2”. Znalazłem też to: http://jaswsinc.com/recaptcha-ads/ Najwyraźniej zrobili oni wersję beta ich „bez CAPTCHA reCAPTCHA” tylko dla zaproszonych, więc ... Prawdopodobnie nie będziesz w stanie tego zrobić Twoja witryna, jeszcze. Nie mogę znaleźć żadnych informacji na temat włączania wersji beta, ale jeśli wyszukasz „No CAPTCHA reCAPTCHA beta”, zobaczysz wiele osób, które wspomniały o otrzymaniu e-maila od Google, aby mogli dołączyć.
Jeśli znajdziesz miejsce, w którym możesz dostać się do wersji beta, udostępnij to! W przeciwnym razie wygląda na to, że publiczne wydanie pojawi się w 2015 roku ...
źródło
We expect to move all existing reCAPTCHA sites to the new API in 2015.
No CAPTCHA reCAPTCHA
działa nowa ?Ten wpis nie odpowiada na pierwotne pytanie, jednak pomaga wdrożyć podobne rozwiązanie.
Jak powiedział @IanM, checkbox recaptcha jest w fazie beta i nie można go używać bez zaproszenia.WAŻNA EDYCJA Google wprowadził nową reCAPTCHA
To jest CAPTCHA oparta na JavaScript.
Ponieważ większość robotów spamujących nie wykonuje JavaScript i nie może zidentyfikować korelacji między wyświetlanym tekstem a DOM lub wymaganymi działaniami, nie mogą kliknąć pola wyboru.
Zwróć uwagę, że w ogóle nie ma pola wyboru, jest to po prostu element div z pewnymi stylami CSS. Spamboty próbują wypełnić elementy wejściowe formularza, ale w CAPTCHA nie ma danych wejściowych. Znacznik wyboru to po prostu kolejny element div (klasa css).
Po kliknięciu pola żądanie AJAX powiadamia serwer, że kliknięto element div, a serwer przechowuje te informacje w tymczasowej pamięci (oznacza token: ten token został aktywowany przez człowieka). Kiedy wysyłasz formularz, ukryte pole wysyła token, który został aktywowany, a następnie, gdy serwer zweryfikuje informacje z formularza, rozpozna, że token został aktywowany. Jeśli token nie zostanie aktywowany, formularz zostanie unieważniony.
Kroki w punktowanych punktach:
<input>
elementu, ewentualnie używając<div>
) i dodaj do niego wygenerowany wcześniej identyfikator (możesz skorzystać zdata-*
atrybutów html5 )in use
. (Pokaż wynik - identyfikator jest OK / nie OK - użytkownikowi)in use
stanie.Możesz powiązać identyfikator z sesją użytkownika, adresem IP i / lub możesz użyć ograniczeń czasowych w celu zwiększenia bezpieczeństwa.
UWAGA Ten rodzaj CAPTCHA działa tylko wtedy, gdy włączony jest JavaScript!
UWAGA (edycja 1) Jak stwierdził @crazypotato, istnieje kilka narzędzi do automatyzacji, które mogą wykonywać JavaScript, narzędzia te mogą również wysyłać odpowiednie żądanie AJAX i uruchamiać zdarzenie Click w polu wyboru div.
UWAGA (edycja 2) Zwróć uwagę, że skrypt napisany do konkretnej witryny lub w celu złamania jednego typu captcha wcześniej czy później przejdzie. Nie ma ostatecznej ochrony, możesz tylko zmusić boty (lub ich twórców) do cięższej pracy.
UWAGA (edytuj 3) Kroki i opis w tej odpowiedzi zawierają tylko podstawowe informacje na temat tego typu captcha, zawsze musisz dodać dodatkowe walidacje i kroki bezpieczeństwa, aby uczynić go bezpieczniejszym. Na przykład Google noCaptcha systematycznie uruchamia standardową reCaptcha po 3 „kliknięciach div”.
źródło
most bots
pisać od i nieall bots
. Istnieją również rozwiązania, w których oparty na obrazie przerywacz captcha po prostu wysyła obraz do oprogramowania i ludzi w postaciach (a pracownikowi płaci się liczba pomyślnych postów). Jak byś temu zapobiec? :)Oto mój kod działający bez problemu w PHP:
Strona klienta:
Po stronie serwera:
:)
źródło
g-recaptcha-response
ale żaden taki element nie jest zdefiniowany w kodzie po stronie klienta ... czy czegoś mi brakuje?Przyszedłem tutaj w poszukiwaniu, nie widziałem odpowiedzi, więc szukałem dalej.
Po moich poszukiwaniach to okno było nadal otwarte, więc aktualizuję ten post o moje ustalenia.
Tutaj możesz dowiedzieć się o reCAPTCHA :
http://scraping.pro/no-captcha-recaptcha-challenge/
Zasadniczo jednak dodajesz to do swojej strony internetowej:
Aby uzyskać klucze reCAPTCHA , przejdź do tej witryny Google:
https://www.google.com/recaptcha/intro/index.html
Gdy masz już klucze, korzystając z powyższego linku, możesz dokładniej zapoznać się z ich kodowaniem, korzystając z następujących informacji Google:
https://developers.google.com/recaptcha/
UWAGA:
Z dokumentacji Google:
Oto przykład, jak sprawiłem, że to działa:
Jeśli chcesz sprawdzić poprawność w kodzie ASP.NET, po prostu sprawdź, czy kontrolka „g-recaptcha-response” jest wypełniona:
Miejmy nadzieję, że niektórzy z was uznają to za przydatne.
źródło
Dziękuję wszystkim za wkład w ten wątek, wspaniale jest widzieć tak wiele osób zainteresowanych nowym narzędziem recaptcha.
Nie mogłem znaleźć implementacji .net, więc stworzyłem prostą kontrolkę formularzy internetowych, którą możesz znaleźć tutaj https://github.com/pnmcosta/recaptchav2dotnet
źródło