Đôi lúc, vì có nhiều domain cùng hosted trên một host, hoặc là dùng Dedicated Server, VPS, hay đơn giản là bạn đang có 2 domain cùng chạy 1 site nào đó, nhưng chỉ muốn duy nhất một domain được phép chạy. Còn domain kia thì không, mà chỉ là foward để ngăn khả năng bị Duplicate content. Hàm PHP đơn giản sau sẽ giúp các bạn.
Đầu tiên là hàm lấy đủ URL của site:

function full_url()
{
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$sp = strtolower($_SERVER["SERVER_PROTOCOL"]);
$protocol = substr($sp, 0, strpos($sp, "/")) . $s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
}

Sử dụng như sau:
Đầu tiên ta lấy Full Url của Site, sau đó kiểm tra, nếu đúng domain ta cho phép thì chạy, không thì hiện thông báo:

$url = full_url();
if ($url!='https://www.bienthuy.com/index.php'){
//==== Cac doan code o day
echo 'Thông báo lỗi vì không phải domain cho phép';
}
else{
// cho phep thuc hien code cua ban o day
echo 'Đang chạy trên domain cho phép';
}

Như vậy nếu các bạn test đầy đủ sẽ như thế này:

<?PHP
/* Check domain
* Code by Huy Hoa
* www.BienThuy.Com
* wWw.HuyHoa.Com
* [email protected]
* Yahoo: huyhoa
* Skype: admin.vtt
* Facebook: https://www.facebook.com/tinhcaviet
* Twitter: https://www.twitter.com/TinhCaViet
* @ 2013. All Rights Reserved.
*
*/
function full_url()
{
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$sp = strtolower($_SERVER["SERVER_PROTOCOL"]);
$protocol = substr($sp, 0, strpos($sp, "/")) . $s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
}
$url = full_url();
if ($url!='https://www.bienthuy.com/index.php'){
//==== Cac doan code o day
echo 'Thông báo lỗi vì không phải domain cho phép';
}
else{
// cho phep thuc hien code cua ban o day
echo 'Đang chạy trên domain cho phép';
} 
?>

Các bạn có thể xem demo tại đây: PHP – Chỉ cho chạy trên 1 domain

4.7/5 - (2527 bình chọn)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *