Yayınlanma tarihi: 9 Haziran 2025
Chrome, Yerel Ağ Erişimi spesifikasyonu kapsamında kullanıcının yerel ağına bağlantı oluşturan siteler için yeni bir izin istemi ekliyor. Amaç, kullanıcıları yönlendiricileri ve özel ağlardaki diğer cihazları hedefleyen siteler arası istek sahteciliği (CSRF) saldırılarına karşı korumak ve sitelerin bu istekleri kullanarak kullanıcının yerel ağını parmak iziyle tanımlama özelliğini azaltmaktır.
Bu değişikliğin web ekosistemini nasıl etkilediğini anlamak için Chrome Ekibi, kullanıcının yerel ağına veya kullanıcının makinesinde yerel olarak çalışan yazılımlara bağlantı kurmaya dayalı web uygulamaları geliştiren geliştiricilerden geri bildirim bekliyor. Chrome 138'den itibaren chrome://flags/#local-network-access-check
bölümüne gidip flag'i "Etkin (Engelleme)" olarak ayarlayarak bu yeni kısıtlamaları etkinleştirebilirsiniz.
Yerel ağ erişimi nedir?
Yerel ağ erişimi, web sitelerinin kullanıcının yerel ağındaki (kullanıcının makinesinde yerel olarak çalışan sunucular dahil) sunuculara istek gönderme özelliğini kısıtlar. Bu tür isteklerin gönderilebilmesi için kullanıcının siteye izin vermesi gerekir. Bu izni isteme özelliği güvenli bağlamlarla sınırlıdır.

Android, iOS ve MacOS gibi diğer birçok platformda yerel ağ erişimi izni bulunur. Örneğin, yeni Google TV ve Chromecast cihazlarını kurarken Google Home uygulamasına yerel ağa erişim izni vermiş olabilirsiniz.
Ne tür istekler etkilenir?
Yerel ağ erişiminin ilk aşamasında, genel ağdan yerel ağa veya geri döngü hedefine yapılan tüm istekler "yerel ağ isteği" olarak kabul edilir.
Yerel ağ, IPv4'te RFC1918'in 3.Bölümünde tanımlanan özel adres alanına çözümlenen herhangi bir hedeftir (ör. 192.168.0.0/16
), eşlenmiş IPv4 adresinin kendisi özel olan bir IPv4 ile eşlenmiş IPv6 adresi veya ::1/128
, 2000::/3
ve ff00::/8
alt ağlarının dışında bir IPv6 adresi.
Geri döngü, IPv4'ün RFC1122'sinin 3.2.1.3 bölümünde tanımlanan "geri döngü" alanına (127.0.0.0/8
), IPv4'ün RFC3927'sinde tanımlanan "bağlantı yerel" alanına (169.254.0.0/16
), IPv6'nın RFC4193'ünün 3. Bölümünde tanımlanan "benzersiz yerel adres" önekine (fcc00::/7
) veya IPv6'nın RFC4291'inin 2.5.6 bölümünde tanımlanan "bağlantı yerel" önekine (fe80::/10
) çözümlenen herhangi bir hedeftir.
IP adreslerinin adres alanlarıyla tam olarak eşleştirilmesi için Yerel Ağ Erişimi spesifikasyonundaki tabloya bakın.
Herkese açık ağ, diğer tüm hedeflerdir.
Yerel ağ erişimi izni güvenli bağlamlarla sınırlı olduğundan ve yerel ağ cihazlarını HTTPS'ye geçirmek zor olabileceğinden, izinli yerel ağ istekleri artık karma içerik kontrollerinden muaf tutulacak. Bunun için Chrome'un, hedef çözümlenmeden önce isteklerin yerel ağa gideceğini bilmesi gerekir. Chrome, bir isteğin yerel ağa gönderildiğini şu durumlarda anlar:
- İstek ana makine adı, özel bir IP değişmezidir (ör.
192.168.0.1
). - İstek ana makine adı bir
.local
alanıdır. fetch()
araması,targetAddressSpace: "local".
seçeneğiyle açıklama eklenmiş olarak gösterilir.
// Example 1: Private IP literal is exempt from mixed content.
fetch("http://192.168.0.1/ping");
// Example 2: `.local` domain is exempt from mixed content.
fetch("http://router.local/ping");
// Example 3: Public domain is not exempt from mixed content,
// even if it resolves to a local network address.
fetch("http://example.com/ping");
// Example 4: Adding the `targetAddressSpace` option flags that
// the request will go to the local network, and is thus exempt
// from mixed content.
fetch("http://example.com/ping", {
targetAddressSpace: "local",
});
Chrome'da değişenler
Chrome 138
Yerel ağ erişiminin ilk sürümü, Chrome 138'de etkinleştirme testine hazır. Kullanıcılar, chrome://flags#local-network-access-check
ayarını "Etkin (Engelleme)" olarak belirleyerek yeni izin istemini etkinleştirebilir. Bu, JavaScript fetch()
API, alt kaynak yükleme ve alt çerçeve gezinme kullanılarak başlatılan istekler için yerel ağ erişimi izni isteminin tetiklenmesini destekler.
Farklı yerel ağ isteklerini tetiklemek için https://lna-testing.notyetsecure.com/ adresinde bir demo sitesi mevcuttur.
Bilinen sorunlar ve sınırlamalar
- Yerel ağa yapılan WebSockets (crbug.com/421156866), WebTransport (crbug.com/421216834) ve WebRTC (crbug.com/421223919) bağlantıları henüz LNA izniyle sınırlanmamıştır.
- Service Worker'lardan ve Shared Worker'lardan gelen yerel ağ istekleri için worker'ın kaynağına daha önce Yerel Ağ Erişimi izni verilmiş olması gerekir.
- Uygulamanız bir hizmet çalışanından yerel ağ istekleri yapıyorsa izin istemini tetiklemek için uygulamanızdan ayrı olarak bir yerel ağ isteği tetiklemeniz gerekir. (Çalışanların, etkin bir belge varsa izin istemini tetikleyebileceği bir yöntem üzerinde çalışıyoruz. crbug.com/404887282 adresini inceleyin.)
Chrome 139 ve sonraki sürümler
Yerel ağ erişimini en kısa sürede kullanıma sunmayı hedefliyoruz. Bazı sitelerin Yerel Ağ Erişimi ek açıklamalarıyla güncellenmesi için ek süreye ihtiyaç duyabileceğini göz önünde bulundurarak, Yerel Ağ Erişimi'ni varsayılan olarak kullanıma sunmadan önce sitelerin güvenli bağlam şartını geçici olarak devre dışı bırakmasına olanak tanıyan bir kaynak denemesi ekleyeceğiz. Bu, özellikle HTTP üzerinden yerel ağ kaynaklarına erişmeyi tercih ediyorsanız (çünkü bu istekler, henüz yerel ağ erişimi karma içerik muafiyetini desteklemeyen tarayıcılarda bir HTTPS sayfasından istendiğinde karma içerik olarak engellenir) geliştiriciler için daha net bir taşıma yolu sunar.
Ayrıca, hangi sitelerin yerel ağ istekleri yapabileceğini ve hangilerinin yapamayacağını kontrol etmek için bir Chrome kurumsal politikası ekleyeceğiz (bu sitelere izin önceden verilecek veya önceden reddedilecek). Bu sayede, kurumsal ortamlardaki gibi yönetilen Chrome yüklemelerinde, bilinen amaçlanan kullanım alanları için uyarı gösterilmemesi veya sitelerin izni hiç istememesi için daha fazla güvenlik önlemi alınabilir.
Yerel ağ erişimi iznini, yerel ağa istek gönderebilen farklı özelliklerle entegre etmeye devam etmeyi planlıyoruz. Örneğin, WebSocket, WebTransport ve WebRTC bağlantıları için yerel ağ erişimini yakında kullanıma sunmayı planlıyoruz.
Chrome'da Yerel Ağ Erişimi'ni tam olarak kullanıma sunmaya yaklaştıkça daha fazla bilgi paylaşacağız.
Geri bildirimlerinizi bekliyoruz
Özel ağ erişimi geliştirme ile ilgili önceki geri bildirimler, yeni yerel ağ erişimi izni yaklaşımımızı belirlememizde son derece değerliydi. Yıllar boyunca bu projede yer alan herkese bir kez daha teşekkür ederiz.
Kullanıcının yerel ağına veya kullanıcının makinesinde yerel olarak çalışan yazılımlara bağlantı kurmaya dayalı bir web sitesi geliştiriyorsanız ya da bu tür bir web sitesinin kullanıcısıysanız Chrome Ekibi, geri bildiriminiz ve kullanım alanlarınızla ilgilenir. Yardım etmek için yapabileceğiniz iki şey vardır:
chrome://flags#local-network-access-check
adresine gidin, işareti "Etkin (Engelleme)" olarak ayarlayın ve web sitenizin yeni izin istemini doğru şekilde tetikleyip tetiklemediğini (ve izni verdikten sonra beklendiği gibi çalışıp çalışmadığını) kontrol edin.- Herhangi bir sorunla karşılaşırsanız veya geri bildirimde bulunmak isterseniz Chromium Sorun İzleyici'de ya da LNA spesifikasyonu GitHub veri havuzumuzda sorun kaydı oluşturun. Chrome sizden haber almak istiyor.