Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

模板防盗教程

[复制链接]
魔焰男孩 发表于 2006-2-4 09:35:24 | 显示全部楼层 |阅读模式
前言

近日来,有关版权的争论真是越来越激烈。您辛辛苦苦制作的漂亮的模板,如果您不在大众的压力下发布出去,那么总会有一天,您的模板会落入他人之手。

您总不希望您的模板在不经允许的情况下被“盗”吧?

那就一起来加密您的模板!使别人无法获取您的模板。那如何加密模板呢?请阅读本教程。

总的来说,所谓的模板就是模板文件和模板图像,如果能把住这两个关口,那么您的模板不能说是万无一失,但是您的模板被盗的几率就大大减小了。下面分别来介绍如何加密模板和图像。


加密模板文件

一般,模板文件都是储存在 templates/模板名 目录下的,别人可以通过 http://域名/templates/模板名/*.htm 这种地址访问您的目录乃至模板原文件,然后就可以下载模板文件了。

从上面的分析可以知道,只要禁止别人访问 templates 目录,那么就能阻止别人下载模板。这里介绍两个方法:

1. 这个的原理是控制服务器的访问权限,您只要指定了允许访问 templates 目录的IP是您本机的IP,那别人就无法访问您的 templates 目录了。
   实现方法请阅读: https://discuz.dismall.com/viewthread.php?tid=215072
2. 当然上述方法在某些服务器上是不被支持因而不起作用的,那您可以采取另一个简单有效的方法——修改模板目录名。您只需把模板目录(templates目录里面的储存模板文件的目录)改成类似 X256a+f5T 或 5T0Ex0[4] 一类的毫无规律、令人猜也猜不到的名字就OK了,然后再到后台 界面风格 - 模版编辑里面修改您的模板的所在目录即可。

当然,这招虽然能阻止一些人的“盗窃”行为,但是对于一些聪明一点的人,这是防不了他的,有些人可以从论坛发送到客户端的 html 代码入手,分析您的模板,然后再模仿您的作品。

这样,加密论坛发送的 html 代码就迫在眉睫了。

详细方法不说了,请阅读: https://discuz.dismall.com/viewthread.php?tid=231901

加密完了模板,接下来就是图像了。


加密模板图像

相对而言,图像盗窃比模板盗窃更简单,因此防盗技术就越困难,因为图像会自动下载到临时文件夹里,如果不能直接从服务器下载,去逛逛临时文件夹同样也可以获取您的图像。

下面介绍一种图像防盗方法,其原理类似于防盗链。

1. 修改您的模板图像目录的名称,修改为一般人猜不出来那种名称。
2. 在论坛新建一个文件,命名为: showpic.php
3. 用记事本或其他的文本编辑器,打开新建的 showpic.php ,粘贴下面的代码并保存:
  1. <?php
  2. $imgdir = 'images/default';           //请修改这个变量的值为您先前设定的模板目录的名称
  3. $img = trim(@$_GET['img']);
  4. $img_addr = $imgdir . $img;
  5. $request = @$_SERVER['HTTP_REFERER'];
  6. $PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
  7. $boardurl = 'http://' . $_SERVER['HTTP_HOST'] . preg_replace("/\/+(api|archiver|wap)?\/*$/i", '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))) . '/';
  8. $pattern = '/' . str_replace('/', '\\/', $boardurl) . './';
  9. $checkreq = @preg_match($pattern, $request);
  10. if(($checkreq == 1) && file_exists($img_addr)) {
  11.         header('Cache-control: max-age=31536000');
  12.         header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 31536000) . ' GMT');
  13.         header('Content-Encoding: none');
  14.         header('Content-Type: image/' . filetype($img));
  15.         @$fp = fopen($img_addr, 'rb');
  16.         @flock($fp, 2);
  17.         $file = @fread($fp, filesize($img_addr));
  18.         @fclose($fp);
  19.         echo $file;
  20.         exit();
  21. } else {
  22.         exit('防盗链已启动');
  23. }
  24. function filetype($filename) {
  25.         $ext = trim(substr(strrchr($filename, '.'), 1));
  26.         if($ext == 'jpg' || $ext == 'jpeg') {
  27.                 $type = 'jpeg';
  28.         } else if($ext == 'gif') {
  29.                 $type = 'gif';
  30.         } else if($ext == 'png') {
  31.                 $type = 'png';
  32.         } else if($ext == 'bmp') {
  33.                 $type = 'bitmap';
  34.         }
  35.         return $type;
  36. }
  37. ?>
复制代码

4. 打开后台 界面风格 - 界面风格,编辑您的模板,把界面图片目录修改为:
  1. showpic.php?img=
复制代码


这样就完成了图像的防盗。


后记

我介绍的方法只是“菜鸟级”的,对于一些普通的“盗窃分子”有一定的效果。但是,这个方法不是万能的,想“盗窃”您的模板的办法还是有的。所以,除了使用以上的介绍方法之外,您还要常常修改您的模板目录和图像目录的名称,防止被别人下载。另外,如果您有其他更好的“防盗”秘籍,欢迎您与我交流!

[ 本帖最后由 魔焰男孩 于 2006-2-4 11:40 编辑 ]
 楼主| 魔焰男孩 发表于 2006-2-4 09:35:43 | 显示全部楼层
沙发自己坐!
回复

使用道具 举报

迎客松 发表于 2006-2-4 09:40:22 | 显示全部楼层
回复

使用道具 举报

踏雪无痕㊣ 发表于 2006-2-4 09:41:58 | 显示全部楼层
LZ写得是很好,但是这样做的话,用的人会多吗?

感觉什么都得依靠原创的人,以后还存在共享这个概念吗?

作者在每次出新风格之后又花一大部分时间去加密,这样不是在浪费宝贵的时间吗?
回复

使用道具 举报

asrchx 发表于 2006-2-4 09:42:43 | 显示全部楼层

可怜的人
自私的人
回复

使用道具 举报

 楼主| 魔焰男孩 发表于 2006-2-4 09:43:55 | 显示全部楼层
原帖由 踏雪无痕㊣ 于 2006年2月4日 09:41 发表
LZ写得是很好,但是这样做的话,用的人会多吗?
感觉什么都得依靠原创的人,以后还存在共享这个概念吗?
作者在每次出新风格之后又花一大部分时间去加密,这样不是在浪费宝贵的时间吗?

现在共享和版权的争论越来越激烈,共享固然好,但是假如原作者不希望共享,那么就有可能被盗,那“版权”就可能受到侵犯,因而我才写这篇文章。
回复

使用道具 举报

 楼主| 魔焰男孩 发表于 2006-2-4 09:44:31 | 显示全部楼层
我不是说不希望共享,我只是告诉大家如何防止盗窃,这是两回事!
回复

使用道具 举报

凱特英雄 发表于 2006-2-4 10:17:29 | 显示全部楼层
有些高手看圖就可以仿了

這個方法治標不治本啊
回复

使用道具 举报

jay001 发表于 2006-2-4 10:22:35 | 显示全部楼层
学习下
回复

使用道具 举报

 楼主| 魔焰男孩 发表于 2006-2-4 10:23:50 | 显示全部楼层
原帖由 凱特英雄 于 2006年2月4日 10:17 发表
有些高手看圖就可以仿了

這個方法治標不治本啊

如果别人真的要盗,什么也防不住的,这个只是粗略概括、小技巧而已。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 09:26 , Processed in 0.035113 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表