如何阻止外部访问的CSS

时间:2013-01-18 20:46:18

标签: css .htaccess block

有人试图窃取我的css文件在他的网站上使用。我可以以某种方式阻止CSS文件从外部访问,但不会损坏我的网站?不知何故通过htaccess或其他东西。感谢您的建议,任何帮助表示感谢。

3 个答案:

答案 0 :(得分:5)

使用PHP style.css.php生成您的CSS,并在代码中接受每秒刷新一次的令牌。您的主页将使用当前令牌src="style.css.php?token=abc123"包含它。如果令牌有效,则会提供令牌。如果令牌已过期,则不会。

最愚蠢的解决方案。无休止的解决方法,但可能有助于反对那个想要窃取你的CSS的人。值得一试和好笑。

第1步:在数据库中创建一个表css_security_force,其中包含一列token

第2步:创建一个运行每秒的cron来更新令牌(现在这是安全的):

UPDATE css_security_force SET token = md5( NOW() );

第3步:在PHP头中抓取css_security_force表中的令牌并将其设置为变量$token,然后在CSS链接中引用该令牌:

<link rel="stylesheet" href="style.css.php?token=<?=$token?>" />

第4步:在style.css.php文件中,从数据库中获取令牌并根据查询参数进行检查。

if ($_GET['token'] == $token) {
    echo <<<CSS
        body {
            background-color : yellow;
            color : pink;
        }
CSS;
} else {
    echo 'Stop stealing my CSS!!!!!!';
}

坐下来看着你的敌人的计划在他面前崩溃。

修改 我很好奇并做了一个 working demo 在出于理智目的的1秒db更新后将其删除,但你可以轻松地使用下面发布的源重新创建)。

以下是Github

的来源

答案 1 :(得分:4)

没有。这毫无意义。如果您希望对页面进行样式设置,那么任何可以查看您网站的人都可以使用您的CSS文件。

谁在乎是否有人使用你的风格?

答案 2 :(得分:2)

简单地说,你无法阻止它,因为浏览器必须能够访问它们。这只是你不应该担心的事情之一。如果可能的话,像Facebook和Twitter这样的很多网站都会阻止它。