Belirli bir ülkeye erişimi kısıtlı PHP web sitesi

2 Cevap php

IP sahte olabilir bu yana, nasıl bir doğru ziyaretçinin ülkeyi tanımlayan bir PHP web sitesi inşa edebilirsiniz?

2 Cevap

Bu doğal internet anonimlik verilen bir sorun var, ama bir ülkede yasal olarak mevcut değil içeriği elde etmek yanıltma IP adresleri zaten çoğu yerde teknik bir suçtur.

Bu site medya ve bilgiler dağıtım kısıtlamaları aşağıdaki sağlamak için her türlü makul çabayı size kalmış, ama karşı korumak için sadece pratik bazı şeyler vardır. Alabileceğin en yakın böyle bir kredi kartı ya da fiziksel birisi kayıt için bir pin numarası posta üzerinde bir fatura adresi gibi gerçek bir fiziksel adres doğrulama yaparak, ancak bu seçeneklerin her ikisi de kullanıcı veya kendiniz adına harcamalar.

Joomla kullanabilirsiniz, olası hileleri önlemek olduğunu, çok yönlü iyi fonksiyonu, IP adreslerini almak için fonksiyonu aşağıdaki kullanıyor:

function get_ip()
{
	$ip = false;

	if (!empty($_SERVER['HTTP_CLIENT_IP']))
	{
		$ip = $_SERVER['HTTP_CLIENT_IP'];
	}

	if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
	{
		 $ips = explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']);

		 if ($ip != false)
		 {
			  array_unshift($ips,$ip);
			  $ip = false;
		 }

		 $count = count($ips);

		 # exclude IP addresses reserved for LANs
		 for ($i = 0; $i < $count; $i++)
		 {
			  if (!preg_match("/^(10|172\.16|192\.168)\./i", $ips[$i]))
			  {
				  $ip = $ips[$i];
				  break;
			  }
		 }
	}

	if (false == $ip AND isset($_SERVER['REMOTE_ADDR']))
	{
		$ip = $_SERVER['REMOTE_ADDR'];
	}

	return $ip;
}