এই চেকবক্সটি পুনরায় সংযুক্তি কীভাবে কাজ করবে এবং আমি কীভাবে এটি ব্যবহার করতে পারি?


150

আমি সম্প্রতি অনপ্ল্যাসন ওয়েবসাইট https://account.oneplus.net/sign-up এ সাইন আপ করেছি এবং এই চেকবক্সটি পুনরায় গ্রহণের বিষয়টি লক্ষ্য করেছি

চেকবাক্স পুনর্নির্মাণ

এটি কীভাবে কাজ করে এবং আমি কীভাবে এটি আমার সাইটে ব্যবহার করতে পারি? এই ক্রিপ্টিক শব্দ / অঙ্কগুলির চেয়ে অনেক বেশি ভাল :)

রেক্যাপচা সাইটে কোনও নতুন পুনর্নির্মাণ পদ্ধতির উল্লেখ করা হয়নি ... https://www.google.com/recaptcha/intro/index.html


14
আমি একেবারে একই জায়গায় দেখেছি এবং ঠিক একই জিনিসটি নিয়ে অবাক হয়েছি। আমি মনোযোগ আকর্ষণ করার জন্য একটি অনুগ্রহ দিচ্ছি। আমিও কৌতুহলী।
মাদারার ঘোস্ট

সম্ভবত এটি পরীক্ষায় রয়েছে এবং এখনও প্রকাশের জন্য প্রস্তুত নয়?
ব্যবহারকারী 3791372

1
এটি করার একটি সহজ উপায় হ'ল $('form input[type=submit]') .before('<div>Are you a human? <input type="checkbox" name="captcha" /></div>');বটগুলি বাক্সটি চেক করবে না কারণ এটি ফর্মটির অংশ নয়। jsfiddle.net/s6jkchmz
টাইলার এইচ

1
ফর্মটিতে অপ্রতিরোধ্য ইনপুট ক্ষেত্রটি রাখার (যেমন 'মন্তব্যগুলি') রাখার এবং পরে এটি CSS / জেএস দিয়ে আড়াল করার হানিপোট পদ্ধতি রয়েছে। যদি ডেটা উপস্থিত থাকে তবে প্রেরক হ'ল বট। আমি এটি ব্যবহার করেছি এবং এটি আশ্চর্যজনকভাবে ভাল কাজ করে।
ডেভিড এইচ। বনেট

2
অবগতির জন্য: googleonlinesecurity.blogspot.hu/2014/12/...
মাস

উত্তর:


30

এটি রেক্যাপচা জন্য একটি বিটা এপিআই। আমি তাদের জেএস এপিআইয়ের উত্স থেকে এটি সংগ্রহ করেছি: https://www.google.com/recaptcha/api.js "API2" উল্লেখ করে। এবং আমি এটিও পেয়েছি: http://jaswsinc.com/recaptcha-ads/ স্পষ্টতই তারা তাদের "কেবল ক্যাপচা নয়" এর একটি আমন্ত্রণ-বিটা করেছে তাই আপনি সম্ভবত এটিতে কাজ করতে সক্ষম হবেন না আপনার সাইট, এখনও। বিটা নির্বাচন করার বিষয়ে আমি কোনও তথ্য খুঁজে পাচ্ছি না, তবে আপনি "নো ক্যাপচা রিক্যাচটা বিটা" অনুসন্ধান করলে আপনি বেশ কয়েকটি লোককে দেখতে পাবেন যাঁরা যোগদানের জন্য গুগলের ইমেল পেয়েছেন বলে উল্লেখ করেছেন।

আপনি যদি বিটাতে toোকার জন্য কোনও জায়গা খুঁজে পান তবে দয়া করে ভাগ করুন! অন্যথায় দেখে মনে হচ্ছে যে পাবলিক রিলিজ আসছে 2015 ...


1
আপনি পারে ব্যবহার একসঙ্গে ফ্রাঙ্কেনস্টাইন কিছু চেষ্টা gstatic.com/recaptcha/api2/r20140903161709/recaptcha__en.js যদি আপনি "G-reCAPTCHA" এর জন্য অনুসন্ধান, বা "চেকবক্সটি" "আমি রোবট নই" আপনি কোড যে জানতে পারেন সেখানে এটি বাস্তবায়ন।
ইয়ান এম

3
ইমেল থেকে উদ্ধৃতাংশ:We expect to move all existing reCAPTCHA sites to the new API in 2015.
টিমোথি জর্ন

1
গুগলের ব্লগ পোস্টটি নতুন কোনও ক্যাপচা রিক্যাচটিএ
নিলভস

4
এটি কোথায় ব্যাখ্যা করে, কীভাবে নতুন No CAPTCHA reCAPTCHAকাজ করে?
নিখিল গিররাজ

5
@ নিখিলগিররাজ, আপনি যদি কোনও ক্যাপচা রিক্যাচকা কীভাবে কাজ করে তা জানতে চান, তবে আমি আপনাকে এই পোস্টে দেখিয়েছি
ইগোর সাবিনকিন

114

এই এন্ট্রিটি মূল প্রশ্নের উত্তর দেয় না, তবে এটি একই ধরণের সমাধান কার্যকর করতে সহায়তা করে। যেমন @ আইএনএম বলেছে, চেকবক্সটি পুনরায় গ্রহণ বিটা পর্যায়ে রয়েছে এবং এটি আমন্ত্রণ ছাড়া ব্যবহার করা যাবে না।

গুরুত্বপূর্ণ সম্পাদনা গুগল নতুন রেক্যাপচা চালু করেছে

এটি একটি জাভাস্ক্রিপ্ট ভিত্তিক ক্যাপচা।

যেহেতু বেশিরভাগ স্প্যামবট জাভাস্ক্রিপ্ট চালায় না এবং প্রদর্শিত টেক্সট এবং ডিওএম বা প্রয়োজনীয় ক্রিয়াগুলির মধ্যে পারস্পরিক সম্পর্ক সনাক্ত করতে পারে না তারা চেকবক্সে ক্লিক করতে পারে না।

দয়া করে মনে রাখবেন যে এখানে কোনও চেকবক্স নেই, এটি কয়েকটি সিএসএস স্টাইলিং সহ একটি ডিভ উপাদান। স্প্যামবটস ফর্ম ইনপুট উপাদানগুলি পূরণ করার চেষ্টা করছে, তবে ক্যাপচায় কোনও ইনপুট নেই। চেক চিহ্নটি অন্য একটি ডিভ (সিএসএস শ্রেণি)।

আপনি যখন বাক্সটিতে ক্লিক করেন তখন একটি অজ্যাক্স অনুরোধ সার্ভারকে ডিভ ক্লিক করা হয়েছিল এবং সার্ভারটি অস্থায়ী স্টোরেজে এই তথ্য সংরক্ষণ করে (টোকেন চিহ্নিত করে: এই টোকেনটি কোনও মানুষ সক্রিয় করেছিল)। আপনি যখন ফর্মটি জমা দিন, একটি লুকানো ক্ষেত্রটি টোকেন প্রেরণ করে যা সক্রিয় হয়েছিল, তারপরে সার্ভার যখন ফর্মের তথ্যটি যাচাই করবে তখন তা সনাক্ত করবে টোকেনটি সক্রিয় ছিল। টোকেনটি সক্রিয় না করা থাকলে, ফর্মটি অবৈধ হবে।

বুলেট পয়েন্টের পদক্ষেপগুলি:

  • একটি অনন্য শনাক্তকারী তৈরি করুন এবং একটি লুকানো ইনপুট সহ ফর্মটিতে এটি যুক্ত করুন
  • সাইটে একটি চেকবক্স রেন্ডার করুন ( <input>উপাদানটি ব্যবহার না করে , সম্ভবত ব্যবহার না করে <div>) এবং এতে পূর্ববর্তী উত্পন্ন সনাক্তকারী যুক্ত করুন (আপনি data-*এইচটিএমএল 5 বৈশিষ্ট্য ব্যবহার করতে পারেন )
  • যখন ব্যবহারকারী চেকবক্সে ক্লিক করেন, সার্ভারে একটি অজ্যাক্স অনুরোধ প্রেরণ করুন এবং CAPTCHA বৈধ করুন, যদি এটি বৈধ চিহ্ন হিসাবে চিহ্নিত হয় in use। (ফলাফলটি দেখান - সনাক্তকারী সঠিক / সঠিক নয় - ব্যবহারকারীর কাছে)
  • যখন ব্যবহারকারী ফর্মটি প্রেরণ করেন, ফর্মের ডেটাতে শনাক্তকারী থাকে। আরও একবার এটি পরীক্ষা করে দেখুন, এটির উপস্থিতি থাকা উচিত এবং এটি in useঅবস্থায় থাকা উচিত ।
  • সমস্ত বৈধতা যদি পাস হয়ে যায় তবে ফর্মটির ডেটা ব্যবহার / প্রক্রিয়া করার জন্য প্রস্তুত

আপনি সনাক্তকারীর ব্যবহারকারীর সেশন, আইপি ঠিকানা এবং বাঁধতে পারেন বা আপনি সুরক্ষা উন্নত করতে সময় সীমা ব্যবহার করতে পারেন।

দ্রষ্টব্য: জাভা স্ক্রিপ্ট সক্ষম থাকলেই এই ধরণের ক্যাপচা কাজ করে!

উল্লেখ্য (সম্পাদনা 1) @crazypotato হিসাবে বিবৃত, কিছু অটোমেশন সরঞ্জাম, যা JavaScript নির্বাহ করতে পারেন হয়, এই সরঞ্জামগুলি এছাড়াও সক্ষম সঠিক AJAX অনুরোধ পাঠাতে এবং চেকবক্সটি DIV নেভিগেশন ইভেন্টে ক্লিক আগুনে।

দ্রষ্টব্য (সম্পাদনা 2) দয়া করে নোট করুন যে বিশেষত একটি সাইটে লিখিত একটি স্ক্রিপ্ট বা এক ধরণের ক্যাপচা ভাঙার জন্য শীঘ্রই বা পরে পাওয়া যাবে। কোনও চূড়ান্ত সুরক্ষা নেই, আপনি কেবল বটগুলি (বা তাদের বিকাশকারী) আরও কঠোর করে তুলতে পারেন।

দ্রষ্টব্য (সম্পাদনা করুন 3) এই উত্তরের পদক্ষেপগুলি এবং বিবরণে কেবল এই ধরণের ক্যাপচা সম্পর্কে কিছু প্রাথমিক তথ্য রয়েছে, আপনাকে আরও সুরক্ষিত করার জন্য আপনাকে সর্বদা অতিরিক্ত বৈধতা এবং সুরক্ষা পদক্ষেপ যুক্ত করতে হবে। উদাহরণস্বরূপ, গুগল নো ক্যাপচা নিয়মিতভাবে 3 "ডিভ ক্লিক" পরে একটি স্ট্যান্ডার্ড রিক্যাপচাকে গুলি করে।


4
আমি মনে করি যে প্রশ্নটি বিশেষত "গুগলের রেক্যাপচায় এই বৈশিষ্ট্যটি কীভাবে সক্ষম করব?" আমি নিজেই এটি বাস্তবায়ন করতে পারার বিষয়ে আমি যথেষ্ট আত্মবিশ্বাসী, তবে তাদের ক্ষেত্রে এটি এত সহজ নয় not
মাদারার ঘোস্ট

আপনি যদি স্ট্রিটভিউ পৃষ্ঠার নীচে একটি সমস্যার প্রতিবেদন ক্লিক করেন তবে আপনি একই নতুন পুনরায় সংযুক্তি পাবেন। এইখানেই আমি এটি প্রথম দেখেছিলাম এবং অনুসন্ধান করতে গিয়ে এই এসও পৃষ্ঠাটি পেয়েছি।
ব্যবহারকারী2605793

1
কোন বটকে এই এজ্যাক্স অনুরোধটি প্রেরণ করা থেকে বিরত রাখতে পারে? প্রত্যেকে (বা একটি আধা-বৃহত সাইট) যদি এর মতো একটি ক্যাপচা বাস্তবায়ন করত তবে অবশ্যই এটি কোনওভাবেই কাজে লাগানো হবে। ক্লাউডফ্লেয়ারে একটি অনুরূপ বট-সনাক্তকরণ সিস্টেম রয়েছে যা ব্যবহারকারীর কিছুই করার প্রয়োজন না করেই কাজ করে বলে মনে হচ্ছে।
স্টেইন শ্যাট

প্রথমত, আমি আপনার মন্তব্যের সাথে পুরোপুরি একমত এবং হ্যাঁ, সরাসরি কোনও সাইটকে কাজে লাগানোর জন্য লিখিত একটি বটটি পেয়ে যাবে (এবং এটি কোনও ধরণের ক্যাপচারের ক্ষেত্রে সত্য)। আমি আমার পোস্ট দিয়ে শুরু করেছি most botsএবং না দিয়েই all bots। এছাড়াও সমাধান রয়েছে যখন চিত্র ভিত্তিক ক্যাপচা ব্রেকার কেবল একটি সফ্টওয়্যার এবং অক্ষরগুলিতে একটি মানব প্রকারের কাছে চিত্র প্রেরণ করে (এবং চাকরীটি সফল পোস্টগুলির গণনায় প্রদান করা হয়)। আপনি কীভাবে এটি প্রতিরোধ করবেন? :)
মাস

1
@ প্রেড "স্প্যামবটস ফর্ম ইনপুট উপাদানগুলি পূরণ করার চেষ্টা করছে, তবে ক্যাপচায় কোনও ইনপুট নেই" " এটা করুণ। jackiechanface.jpg
4:54

9

এখানে আমার কোডটি পিএইচপিতে সমস্যা ছাড়াই চলছে:

মক্কেলের পক্ষে:

<div class="g-recaptcha" data-sitekey="PUBLIC_KEY"></div>

সার্ভার সাইড:

if (isset($_POST['g-recaptcha-response'])) {
    $captcha = $_POST['g-recaptcha-response'];
    $privatekey = "SECRET_KEY";
    $url = 'https://www.google.com/recaptcha/api/siteverify';
    $data = array(
        'secret' => $privatekey,
        'response' => $captcha,
        'remoteip' => $_SERVER['REMOTE_ADDR']
    );

    $curlConfig = array(
        CURLOPT_URL => $url,
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS => $data
    );

    $ch = curl_init();
    curl_setopt_array($ch, $curlConfig);
    $response = curl_exec($ch);
    curl_close($ch);
}

$jsonResponse = json_decode($response);

if ($jsonResponse->success == "true")
    doSomething();
else
    doSomeOtherThing();

:)


আপনি কি ক্লায়েন্ট সাইড / এইচটিএমএল কোডের কিছু অংশ রেখে গেছেন? কেবল জিজ্ঞাসা করছেন কারণ আপনার পিএইচপি কোডে আপনি নামের একটি পোস্টের বিরুদ্ধে চেক করছেন g-recaptcha-responseতবে আপনার ক্লায়েন্টের সাইড কোডে এমন কোনও উপাদান সংজ্ঞায়িত করা হচ্ছে না ... আমি কি কিছু মিস করছি?
benomatis

5

আমি আমার অনুসন্ধানে এখানে এসেছি, কোনও উত্তর দেখতে পেলাম না এবং তাই আমি অনুসন্ধান চালিয়ে যাচ্ছি।

আমার অনুসন্ধানের পরে, এই উইন্ডোটি এখনও খোলা ছিল, তাই আমি আমার অনুসন্ধানগুলি সহ এই পোস্টটি আপডেট করছি।

আপনি এখানে রেক্যাপচা সম্পর্কে জানতে পারেন এখানে :

http://scraping.pro/no-captcha-recaptcha-challenge/

মূলত, যদিও, আপনি এটি আপনার ওয়েব পৃষ্ঠায় যুক্ত করুন:

<script src="https://www.google.com/recaptcha/api.js" >;
<form method="post">
    <div class="g-recaptcha" data-sitekey="[site key issued by google]"></div>
    <input value="submit" type="submit" />
</form>

আপনার রেক্যাপচা কীগুলি পেতে , এই গুগল সাইটে যান:

https://www.google.com/recaptcha/intro/index.html

উপরের লিঙ্কটি একবার ব্যবহার করার পরে আপনার কীগুলি হয়ে গেলে আপনি নীচের গুগল তথ্য ব্যবহার করে এর কোডিংয়ের গভীরে যেতে পারেন:

https://developers.google.com/recaptcha/

বিঃদ্রঃ:

গুগল ডকুমেন্টেশন থেকে:

স্ক্রিপ্টটি এইচটিটিপিএস প্রোটোকল ব্যবহার করে লোড করতে হবে এবং কোনও সীমাবদ্ধতা ছাড়াই পৃষ্ঠার যে কোনও বিন্দু থেকে অন্তর্ভুক্ত করা যেতে পারে।

আমি কীভাবে এটি কাজ করেছিলাম তার উদাহরণ এখানে:

<html>
<head>
    <title>Contact</title>
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <script>
    var onloadCallback = function () {
        grecaptcha.render('dvCaptcha', {
            'sitekey': '<%=ReCaptcha_Key %>',
            'callback': function (response) {
                $.ajax({
                    type: "POST",
                    url: "CS.aspx/VerifyCaptcha",
                    data: "{response: '" + response + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (r) {
                        var captchaResponse = jQuery.parseJSON(r.d);
                        if (captchaResponse.success) {
                            $("[id*=txtCaptcha]").val(captchaResponse.success);
                            $("[id*=lblAlarm]").hide();
                        } else {
                            $("[id*=txtCaptcha]").val("");
                            $("[id*=lblAlarm]").show();
                            var error = captchaResponse["error-codes"][0];
                            $("[id*=lblAlarm]").html("RECaptcha error. " + error);
                        }
                    }
                });
            }
        });
    };
    </script>
</head>
<body>
    <form action="?" method="POST">
        <div id="dvCaptcha" class="g-recaptcha" data-sitekey="[site key issued by google]"></div>
        <br />
        <asp:Button ID="btnSubmit" runat="Server" Text="Send" OnClick="btnSubmit_Click" />
        <asp:Label ID="lblAlarm" runat="server" ForeColor="Red"></asp:Label>
    </form>
</body>
</html>

আপনার যদি এএসপি.নেট কোড-পিছনে বৈধতা দেওয়ার দরকার হয় তবে কেবল "জি-রিপ্যাচচা-প্রতিক্রিয়া" নিয়ন্ত্রণটি পূরণ করা যাচাই করুন:

protected static string ReCaptcha_Key, ReCaptcha_Secret;

protected void btnSubmit_Click(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(Request.Form["g-recaptcha-response"]))
    {
        // other code
    } else
    {
       lblAlarm.Text = "reCAPTCHA failed.";
    }
}

আশা করি, আপনারা কেউ কেউ এটিকে দরকারী বলে মনে করেন।


3

এই থ্রেডে আপনার অবদানের জন্য সবাইকে ধন্যবাদ, নতুন পুনরায় সংশোধন করার সরঞ্জামটিতে এত লোক আগ্রহী দেখে ভাল লাগল।

আমি এটির কোনও নেট প্রয়োগ করতে পেলাম না, তাই একটি সাধারণ ওয়েব ফর্ম নিয়ন্ত্রণ তৈরি করেছি, যা আপনি এখানে পেতে পারেন https://github.com/pnmcosta/recaptchav2dotnet

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.