如何阻止外部访问的CSS

Dim*_*lov 1 css .htaccess block

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

Ali*_*guy 5

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

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

步骤1:css_security_force使用一列在数据库中创建一个表token

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

UPDATE css_security_force SET token = md5( NOW() );
Run Code Online (Sandbox Code Playgroud)

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

<link rel="stylesheet" href="style.css.php?token=<?=$token?>" />
Run Code Online (Sandbox Code Playgroud)

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

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

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

编辑 我很好奇,并做了一个工作演示(为了理智的目的,在经过一天的1秒db更新后将其删除,但您可以轻松地使用下面发布的源重新创建).

这是Github上的源代码