Genel bakış:
Kötü haberlere yanıt verdiğim için üzgünüz, ancak araştırma ve hata ayıklamadan sonra, yeni reCAPTCHA kontrollerinin stilini özelleştirmenin bir yolu olmadığı oldukça açık. Kontroller, iframe
CSS'nin onları biçimlendirmek için kullanılmasını engelleyen bir içine sarılmıştır ve Same-Origin Politikası, JavaScript'in içeriğe erişmesini engelleyerek hacky bir çözümü bile devre dışı bırakır.
API'yi Özelleştirme Neden Yok ?:
ReCAPTCHA API Sürüm 1.0'ın aksine , API Sürüm 2.0'da özelleştirme seçeneği yoktur . Bu yeni API'nin nasıl çalıştığını düşünürsek, neden olması şaşırtıcı değil.
Yeni reCAPTCHA API kulağa basit gelse de, bu mütevazı onay kutusunun arkasında yüksek derecede karmaşıklık vardır. CAPTCHA'lar uzun süredir robotların bozuk metinleri çözmedeki yetersizliğine güveniyor. Ancak son zamanlarda yaptığımız araştırmalar, günümüzün Yapay Zeka teknolojisinin en zor bozuk metin çeşidini bile% 99,8 doğrulukla çözebileceğini gösterdi. Böylelikle bozuk metin tek başına güvenilir bir test olmaktan çıktı.
Buna karşı koymak için, geçen yıl reCAPTCHA için, bir kullanıcının bir insan olup olmadığını belirlemek için kullanıcının CAPTCHA ile olan tüm etkileşimini aktif olarak değerlendiren bir Gelişmiş Risk Analizi arka ucu geliştirdik. Bu, bozuk metin yazmaya daha az güvenmemize ve dolayısıyla kullanıcılara daha iyi bir deneyim sunmamıza olanak tanır. Bu yılın başlarında Sevgililer Günü yazımızda bundan bahsettik.
Kontrol öğelerinin stilini doğrudan değiştirebildiyseniz, yeni reCAPTCHA'yı mümkün kılan kullanıcı profili oluşturma mantığına kolayca müdahale edebilirsiniz.
Özel Tema Ne Olur ?:
Artık yeni API ,theme
light
ve gibi önceden belirlenmiş bir tema seçebileceğiniz bir seçenek sunuyordark
. Ancak şu anda özel bir tema oluşturmanın bir yolu yoktur. Eğer incelersek, ismin özelliğin sorgu dizesinde geçtiğini iframe
bulacağız . Bu URL aşağıdaki gibi bir şeye benziyor.theme
src
https://www.google.com/recaptcha/api2/anchor?...&theme=dark&...
Bu parametre, içindeki sarmalayıcı öğesinde hangi CSS sınıf adının kullanılacağını iframe
belirler ve kullanılacak önceden ayarlanmış temayı belirler.
Minified kaynak üzerinden Kazı, orada belgelerinde belirtilen 2'den fazla olduğu aslında 4 geçerli tema değerleridir, fakat bulundu default
ve standard
aynıdır light
.
Bu nesneden sınıf adını seçen kodu burada görebiliriz.
Özel bir tema için kod yoktur ve başka bir theme
değer belirtilirse, standard
temayı kullanır .
Sonuç olarak:
Şu anda, yeni reCAPTCHA öğelerini tam iframe
olarak biçimlendirmenin bir yolu yoktur, yalnızca etrafındaki sarmalayıcı öğeler stilize edilebilir. Bu, kullanıcıların yeni captcha içermeyen onay kutusunu mümkün kılan kullanıcı profili oluşturma mantığını kırmalarını önlemek için neredeyse kesinlikle kasıtlı olarak yapıldı. Google'ın sınırlı bir özel tema API'si uygulayabilmesi mümkündür, belki de mevcut öğeler için özel renkler seçmenize izin verir, ancak Google'ın tam CSS stilini uygulamasını beklemem.