Ana Sayfa

Forgejo Sunucusunu Yapay Zeka Tarayıcılarından Koruma Yöntemi

1 dk okuma

Bir geliştirici, kod barındırma platformu Forgejo örneğinin, robots.txt kurallarına uymayan yapay zeka web tarayıcıları tarafından aşırı isteklerle karşılaştığını ve bu durumun sunucunun sürekli çökmesine neden olduğunu fark etti. Tarayıcılar, depoları klonlamak yerine her bir commit'i web API üzerinden sorgulayarak sisteme büyük bir yük bindiriyordu. Bu durum karşısında geliştirici, önce web sitesini tamamen engellemek gibi radikal bir çözüm denese de, bu durum platformun halka açık olma amacına aykırıydı. Ardından Anubis gibi daha kapsamlı bir araç kullanmayı düşündü ancak bu çözümün kendi ihtiyaçları için fazla ağır ve yapılandırması zor olduğunu gördü.

Nihayetinde, Caddy için geliştirilmiş basit bir yapılandırmadan ilham alarak, Nginx sunucusuna uyarlanmış etkili bir koruma mekanizması geliştirdi. Bu strateji oldukça basittir: siteye erişen bir kullanıcının belirli bir çereze (cookie) sahip olup olmadığını kontrol eder. Eğer çerez yoksa, kullanıcı, bu çerezi ayarlayan bir JavaScript kodu içeren özel bir 418 HTTP durum kodlu HTML sayfasına yönlendirilir ve sayfa yeniden yüklenir. Bu sayede, tarayıcılar genellikle JavaScript çalıştırmadığı veya bu tür çerez mekanizmalarını doğru şekilde işlemediği için engellenmiş olurken, gerçek kullanıcılar tek bir yönlendirme ile neredeyse fark etmeden siteye erişebilir.

Bu çözüm, git clone gibi önemli işlevlerin etkilenmemesi için özel bir bypass kuralı da içerir. Yazar, bu basit korumanın şimdilik yeterli olduğunu ve Anubis gibi daha karmaşık çözümlere kıyasla daha hafif ve kullanıcı dostu olduğunu belirtiyor. Tek gereksinim, kullanıcıların tarayıcılarında JavaScript'in etkin olmasıdır. Bu yöntem, Forgejo örneğini yapay zeka tarayıcılarının aşırı yükünden başarıyla korurken, platformun erişilebilirliğini sürdürmesini sağlıyor.

İçgörü

Bu çözüm, `robots.txt` kurallarına uymayan agresif web tarayıcılarına karşı sunucuları korumak için basit ama etkili, JavaScript tabanlı bir çerez mekanizması sunuyor.

Kaynak