有人试图窃取我的 css 文件以在他的网站上使用。我可以以某种方式阻止外部访问 CSS 文件,但不会损坏我的网站吗?不知何故通过htaccess之类的。感谢您的建议,任何帮助表示赞赏。
3 回答
使用 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() );
第 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!!!!!!';
}
坐下来,看着你的敌人的计划在他面前崩溃。
编辑
我很好奇并做了一个工作演示(出于理智目的,经过几天的 1 秒数据库更新后将其删除,但您可以使用下面发布的源轻松重新创建)。
不,这没有任何意义。如果您希望页面样式化,任何可以查看您网站的人都必须可以使用您的 CSS 文件。
谁在乎是否有人使用你的风格?
简单地说,您不能阻止它,因为浏览器必须有权访问它们。这只是您不应该担心的事情之一。如果可能的话,Facebook 和 Twitter 等许多网站都会屏蔽它。