仅允许来自特定网址的请求

时间:2015-05-31 11:35:57

标签: php css

我制作了一个我可以卖的CSS模板。 css托管在我的服务器上。我只想要付费的网站有权访问这个文件,所以我想到了一个回复css的php文件,只有当url存在于数组中时才会这样。

<?php

header("Content-type: text/css");

$allowedUrls = ['google.com', 'facebook.com'];

$thisURL = "http://urlfromrequester.com"; //???
$thisURL = str_ireplace('www.', '', $thisURL);
$thisURL = (parse_url($thisURL, PHP_URL_HOST));

foreach ($allowedUrls as $url) {
    if ($url == $thisURL) {
        $css = file_get_contents('theCSSFile.css');
    } else {
        $css = file_get_contents('FileWithLinkToBuyPage.css');
    }
}

echo($css);

这是一种只在主机购买css文件时才打印css的安全方法。但是如何获取请求者的URL?

购买此文件的人会像这样使用它: <link rel="stylesheet" type="text/css" href="http://domain.com/checkLicence.php">

由于

1 个答案:

答案 0 :(得分:0)

您可以使用:

$_SERVER['HTTP_REFERER'];

但请注意,引荐地址由用户代理设置。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。 简而言之,它无法真正被信任。