AngularJS’ te ng-href ile linkleme yaparken “http, https, ftp ve mailto” dışında bir protocol ile başlayan linkler verdiğiniz zaman, linklerin başına unsafe eki geldiğini göreceksiniz. Bunun sebebi AngularJS’ in XSS ataklarına karşı aldığı güvenlik önlemidir. 

https://docs.angularjs.org/api/ng/provider/$compileProvider#aHrefSanitizationWhitelist adresindeki açıklamaya da göz attığınızda bunu detayları ile öğrenebilirsiniz.

“unsafe problemini Nasıl Çözeceğiz ?”

Yapmanız gereken tek şey, ng-href te kullandığınız protocol leri whitelist e eklemek. Örneğin, geo protocol ü için whitelist işlemini aşağıdaki gibi yapıyoruz.

Yukarıda, uygulamamın config’ in de $compileProvider a ayar çekiyorum. $compileProvider ın aHrefSanitizationWhitelist metodu üzerinden Regex yaparak, parantez içinde | işareti ile ayırarak eklediğim protocol lerden herhangi birine denk geldiğinde güvenmesi gerektiğini bildiriyorum.

geo ve birBaskaProtocol değerlerini, kendi protocol lerinize göre düzenleyip kullanabilirsiniz.

Leave A Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir