Yetkisiz kullanıcıların projelerinizde bulunan bazı sayfa veya dosyalara erişimin kısıtlanması güvenlik için önemli bir unsurdur. Özel erişim izinleri ile birlikte kullanıcılar yetkisi olmayan sayfaları incelemek istediğinde 403 uyarısı ile karşılaşır. Tabii ki 403 sayfasının tasarımının dikkat çekici olması ziyaretçilerin sitenizi hatırlamasını sağlayabilir ve erişimi olduğu sayfaları ziyaret etmesini tetikleyerek daha uzun sürelerde sayfalarınız arasında gezinebilir. Eğer birden fazla ülkeden ziyaretçi alıyorsanız ve özel bir engelleme kullanıyorsanız aşağıdaki kodlar sayesinde tarayıcı diline göre 403 sayfalarınızın tasarımını değiştirerek daha dikkat çekici bir uyarı sayfası oluşturabilirsiniz.
Örnek NGIX Konfigürasyonu
server { server_name domainadresiniz.com; #Tarayıcı dilini tanımla if ( $http_accept_language ~ ^(..) ) { set $langbrows $1; } error_page 403 /403.html; location / { ..... proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header CF-IPCountry $http_cf_ipcountry; error_page 403 /403.html; #TR dışında IP'den erişilirse if ($http_cf_ipcountry != TR) { return 403; } proxy_pass http://localhost:3051; ...... } location /403.html { ssi on; internal; auth_basic off; root /var/www/html; allow all; } }
Örnek 403.HTML İçeriği
Aşağıdaki örnekte de görebileceğiniz üzere Nginx’in SSI (Server Side Includes) modül desteği ile if/then/else filtreleri uygulayabilirsiniz.
<!--# if expr="$langbrows = tr" --> Erişim engeli! - domainadresiniz.com - Markanız <!--# else --> Access is restricted! - domainadresiniz.com - Markanız <!--# endif -->