2013-10-08 14 views
5

Yapmaya çalıştığım, aşağıdaki kodla ülke kodunu temel alarak ülkeleri yeniden yönlendirmektir. Aşağıdaki kod çalışmıyor. Bazı araştırmalar yaptıktan sonra bir ya da bir deyim kullanmam gerektiğini ya da en azından ihtiyacım olan şey olduğunu düşünüyorum, ama sorum şu ya da bu ifadenin daha kolay bir yolu var mı? Gördüğünüz gibi kontrol ettiğim birçok ülke var.Alternatif ifadesi OR ifade

var countryCodes = ["UK","CA","DE","DK","FR","AU","SE","CH","NL","IT","BE","AT","ES","NO","IE","FI","GB","US"]; 
var country= geoip_country_code(); 
if (countryCodes.indexOf(country) !== -1) 
{ 
    ... 
} 
+0

@JonathonReinhart Sunucu tarafını baypas etmek önemsizdir. – Brad

+2

Yorumunuz için teşekkürler, ancak bu ihtiyacım olan şey için yeterince iyi olacak. – user2716614

+0

@JonathonReinhart Mesele şu ki, güvenlik zaten burada önemi olamaz. IP adresiyle bölge kilitleme, ortalama kullanıcının ötesinde etkili değildir. Ayrıca, sadece yönlendiriyor. – Brad

cevap

12

Böyle yapmak mümkün olmalıdır

var country = 'US'; 
var countries = 'UK CA DE DK FR AU SE CH NL IT BE AT ES NO IE FI GB US'; 

if (countries.match(country.toUpperCase())) { 
    // matched 
} else { 
    // no match 
} 

Ama istemci kaynağını taklit etmesi çok kolaydır.

+0

Cevabınız için teşekkür ederiz, ben şimdi dışarı deneyeceğim ... – user2716614

+0

@Brad İyi nokta, ben orada olmalıydım! == '. –

+1

@ BenS. — '' '' '' '' '' '' '' '' '' '' '' '' '=' '' = '' '=' '' = '' '=' '' = '' = '' = '' = '' = '' 'dır. – RobG

0

Sen böyle bir şey yapabilirsiniz:

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script> 
<script language="JavaScript"> 

var country= geoip_country_code(); 

if(country = "UK","CA","DE","DK","FR","AU","SE","CH","NL","IT","BE","AT","ES","NO","IE","FI","GB","US")  
{ 
window.location.href='http://www.google.com'; 
} 
else 
{ 
window.location.href='http://www.yahoo.com'; 
} 
</script>