Botların ASP.NET Web Razor) Sitenizi Kullanmasını Engellemek için CAPTCHA Kullanma
Microsoft tarafından
Bu makalede, otomatik programların (botların) ASP.NET Web Sayfaları (Razor) web sitesinde görevleri gerçekleştirmesini önlemek için ReCaptcha'nın (güvenlik önlemi) nasıl kullanılacağı açıklanmaktadır.
Öğrenecekleriniz:
- Sitenize CAPTCHA testi ekleme.
Makalede sunulan ASP.NET özellikleri şunlardır:
- Yardımcı
ReCaptcha
.Not
Bu makaledeki bilgiler ASP.NET Web Sayfaları 1.0 ve Web Sayfaları 2 için geçerlidir.
CAPTCHA'lar hakkında
İnsanların sitenize kaydolmasına izin verdiğinizde, hatta bir ad ve URL (blog yorumu için olduğu gibi) girdiğinizde, sahte adlar akınına uğrayabilirsiniz. Bunlar genellikle bulabildikleri her web sitesinde URL'leri bırakmaya çalışan otomatik programlar (botlar) tarafından bırakılır. (Yaygın bir motivasyon, satışa sunulan ürünlerin URL'lerini yayınlamaktır.)
Kaydolan veya başka bir şekilde adını ve sitesini giren kullanıcıları doğrulamak için CAPTCHA kullanarak bir kullanıcının bilgisayar programı değil gerçek kişi olduğundan emin olmanıza yardımcı olabilirsiniz. CAPTCHA, Bilgisayarlara ve İnsanlara Ayrı Olarak Bildirmek için Tamamen Otomatik Genel Turing testi anlamına gelir. CAPTCHA, kullanıcıdan yapması kolay ancak otomatik bir programın yapması zor olan bir şey yapmasının istendiği bir sınama yanıtı testidir. EN yaygın CAPTCHA türü, bozuk harfler gördüğünüz ve bunları yazmanız istendiği bir türdür. (Bozulmanın botların harfleri çözmesini zorlaştırması gerekir.)
ReCaptcha Testi Ekleme
ASP.NET sayfalarda, ReCaptcha hizmetini temel alan bir CAPTCHA testini işlemek için yardımcıyı kullanabilirsinizReCaptcha
. ReCaptcha yardımcısı, sayfa doğrulanmadan önce kullanıcıların doğru şekilde girmesi gereken iki bozuk sözcüğün görüntüsünü görüntüler. Kullanıcı yanıtı ReCaptcha.Net hizmeti tarafından doğrulanır.
Web sitenizi ReCaptcha hizmetine kaydedin. Kaydı tamamladığınızda ortak anahtar ve özel anahtar alırsınız.
Henüz yapmadıysanız, ASP.NET Web Sayfaları Sitesine Yardımcı Yükleme bölümünde açıklandığı gibi web sitenize ASP.NET Web Yardımcıları Kitaplığı'nı ekleyin.
Henüz bir _AppStart.cshtml dosyanız yoksa, web sitesinin kök klasöründe _AppStart.cshtml adlı bir dosya oluşturun.
_AppStart.cshtml dosyasına aşağıdaki
Recaptcha
yardımcı ayarlarını ekleyin:@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"; }
PublicKey
Kendi genel ve özel anahtarlarınızı kullanarak vePrivateKey
özelliklerini ayarlayın._AppStart.cshtml dosyasını kaydedin ve kapatın.
Web sitesinin kök klasöründe Recaptcha.cshtml adlı yeni bir sayfa oluşturun.
Mevcut içeriği aşağıdakilerle değiştirin:
@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>
Tarayıcıda Recaptcha.cshtml sayfasını çalıştırın.
PrivateKey
Değer geçerliyse sayfada ReCaptcha denetimi ve bir düğme görüntülenir. anahtarları_AppStart.html'de genel olarak ayarlamadıysanız, sayfa bir hata görüntüler.Test için sözcükleri girin. ReCaptcha testini geçerseniz, bu etkiye ilişkin bir ileti görürsünüz. Aksi takdirde bir hata iletisi görürsünüz ve ReCaptcha denetimi yeniden görüntülenir.
Not
Bilgisayarınız ara sunucu kullanan bir etki alanındaysa, Web.config dosyasının defaultproxy
öğesini yapılandırmanız gerekebilir. Aşağıdaki örnekte, ReCaptcha hizmetinin çalışmasını sağlamak için yapılandırılmış öğesini içeren bir Web.config dosyası defaultproxy
gösterilmektedir.
<?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>
Ek Kaynaklar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin