Bagikan melalui


Menggunakan CAPTCHA untuk Mencegah Bot Menggunakan Situs ASP.NET Web Razor Anda)

oleh Microsoft

Artikel ini menjelaskan cara menggunakan ReCaptcha (langkah keamanan) untuk mencegah program otomatis (bot) melakukan tugas di situs web ASP.NET Web Pages (Razor).

Yang akan Anda pelajari:

  • Cara menambahkan pengujian CAPTCHA ke situs Anda.

Ini adalah fitur ASP.NET yang diperkenalkan dalam artikel:

  • Pembantunya ReCaptcha .

Catatan

Informasi dalam artikel ini berlaku untuk halaman web ASP.NET 1.0 dan Halaman Web 2.

Tentang CAPTCHAs

Setiap kali Anda membiarkan orang mendaftar di situs Anda, atau bahkan hanya memasukkan nama dan URL (seperti untuk komentar blog), Anda mungkin mendapatkan banjir nama palsu. Ini sering ditinggalkan oleh program otomatis (bot) yang mencoba meninggalkan URL di setiap situs web yang dapat mereka temukan. (Motivasi umumnya adalah memposting URL produk yang akan dijual.)

Anda dapat membantu memastikan bahwa pengguna adalah orang asli dan bukan program komputer dengan menggunakan CAPTCHA untuk memvalidasi pengguna saat mereka mendaftar atau memasukkan nama dan situs mereka. CAPTCHA adalah singkatan dari uji Turing Publik Yang Sepenuhnya Otomatis untuk memberi tahu Komputer dan Manusia Terpisah. CAPTCHA adalah tes respons tantangan di mana pengguna diminta untuk melakukan sesuatu yang mudah dilakukan seseorang tetapi sulit untuk dilakukan program otomatis. Jenis CAPTCHA yang paling umum adalah salah satu tempat Anda melihat beberapa huruf yang terdistorsi dan diminta untuk mengetiknya. (Distorsi seharusnya mempersulit bot untuk menguraikan huruf.)

Menambahkan Pengujian ReCaptcha

Di halaman ASP.NET, Anda dapat menggunakan pembantu ReCaptcha untuk merender pengujian CAPTCHA yang didasarkan pada layanan ReCaptcha. Pembantu ReCaptcha menampilkan gambar dua kata terdistorsi yang harus dimasukkan pengguna dengan benar sebelum halaman divalidasi. Respons pengguna divalidasi oleh layanan ReCaptcha.Net.

Cuplikan layar pengujian Captcha yang dihasilkan oleh layanan ReCaptcha, memperlihatkan dua kata yang terdistorsi dan bidang teks untuk verifikasi pengguna.

  1. Daftarkan situs web Anda dengan layanan ReCaptcha. Setelah menyelesaikan pendaftaran, Anda akan mendapatkan kunci umum dan kunci privat.

  2. Tambahkan Pustaka Pembantu Web ASP.NET ke situs web Anda seperti yang dijelaskan dalam Menginstal Pembantu di Situs Halaman Web ASP.NET, jika Anda belum melakukannya.

  3. Jika Anda belum memiliki file _AppStart.cshtml , di folder akar situs web buat file bernama _AppStart.cshtml.

  4. Tambahkan pengaturan pembantu berikut Recaptcha di file _AppStart.cshtml :

    @using Microsoft.Web.Helpers;
    @{
      // Add the PublicKey and PrivateKey strings with your public
      // and private keys. Obtain your PublicKey and PrivateKey
      // at the ReCaptcha.Net (http://recaptcha.net) website.
      ReCaptcha.PublicKey = "your-public-key";
      ReCaptcha.PrivateKey = "your-private-key";
    }
    
  5. Atur PublicKey properti dan PrivateKey menggunakan kunci publik dan privat Anda sendiri.

  6. Simpan file _AppStart.cshtml dan tutup.

  7. Di folder akar situs web, buat halaman baru bernama Recaptcha.cshtml.

  8. Ganti konten yang sudah ada dengan yang berikut ini:

    @using Microsoft.Web.Helpers;
    @{
      var showRecaptcha = true;
      if (IsPost) {
        if (ReCaptcha.Validate()) {
            @:Your response passed!
            showRecaptcha = false;
        }
        else{
          @:Your response didn't pass!
        }
      }
    }
    <!DOCTYPE html>
    <html>
        <head>
            <title>Testing Global Recaptcha Keys</title>
        </head>
        <body>
        <form action="" method="post">
        @if(showRecaptcha == true){
            if(ReCaptcha.PrivateKey != ""){
                <p>@ReCaptcha.GetHtml()</p>
                <input type="submit" value="Submit" />
            }
            else {
                <p>You can get your public and private keys at
                the ReCaptcha.Net website (http://recaptcha.net).
                Then add the keys to the _AppStart.cshtml file.</p>
            }
        }
        </form>
        </body>
    </html>
    
  9. Jalankan halaman Recaptcha.cshtml di browser. PrivateKey Jika nilai valid, halaman menampilkan kontrol ReCaptcha dan tombol . Jika Anda belum mengatur kunci secara global di _AppStart.html, halaman akan menampilkan kesalahan.

    Cuplikan layar halaman browser Recaptcha dot c s h t m l, memperlihatkan tombol captcha dan Kirim yang dibuat.

  10. Masukkan kata-kata untuk pengujian. Jika Anda lulus tes ReCaptcha, Anda akan melihat pesan ke efek tersebut. Jika tidak, Anda akan melihat pesan kesalahan dan kontrol ReCaptcha diputar ulang.

Catatan

Jika komputer Anda berada di domain yang menggunakan server proksi, Anda mungkin perlu mengonfigurasi defaultproxy elemen file Web.config . Contoh berikut menunjukkan file Web.config dengan elemen yang dikonfigurasi defaultproxy untuk mengaktifkan layanan ReCaptcha berfungsi.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.net>
      <defaultProxy>
         <proxy
            usesystemdefault = "false"
            proxyaddress="http://myProxy.MyDomain.com"
            bypassonlocal="true"
            autoDetect="False"
         />
      </defaultProxy>
   </system.net>
</configuration>

Sumber Daya Tambahan