Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >帝国cms在防止内容采集方面做的工作

帝国cms在防止内容采集方面做的工作

作者头像
yumusb
发布于 2020-08-28 07:03:35
发布于 2020-08-28 07:03:35
1.1K00
代码可运行
举报
文章被收录于专栏:坏男孩坏男孩
运行总次数:0
代码可运行

在某论坛偶然看到有讨论帝国CMS关于防止复制和防止采集方面的内容。于是下载了一份学习一下。


首先找到了相关函数的定义位置:

防止复制

防止复制函数 e/class/connect.php的第3176行(这里就不贴具体效果了。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//加上防复制字符
function AddNotCopyRndStr($text){
	global $public_r;
	if($public_r['opencopytext'])
	{
		$rnd=make_password(3).$public_r['sitename'];
		$text=str_replace("<br />","<span style=\"display:none\">".$rnd."</span><br />",$text);
		$text=str_replace("</p>","<span style=\"display:none\">".$rnd."</span></p>",$text);
	}
	return $text;
}

可以看到原理很简单,是把换行和p标签的结束标签替换成<span style="display:none">随机三位字符+站点标题</span><br />。不过为什么这么做,我没有查找到相关资料。只看到2011年已经有相关的文章了。

防止采集

e/class/functions.php第3767行,这块有相关功能说明 http://www.phome.net/EmpireCMS/edu/base/66.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function ReturnNotcj($string){
	global $notcj_r,$notcjnum;
	if(empty($notcjnum))
	{
		$rep="";
    }
	else
	{
		$i=rand(1,$notcjnum);
		$rep=$notcj_r[$i];
    }
	$cjword="<!--ecms.*-->";
	$string=str_replace($cjword,$rep,$string);
	return $string;
}

也可以很轻易的看出,是把文章输出模板中的 <!--ecms.*--> 替换成我们自己在后台定义的防止采集字符。默认有以下内容:

<input type=hidden value='欢迎使用帝国网站管理系统:www.phome.net'> <phome 帝国网站管理系统,phome.net> <!--帝国CMS,phome.net--> <table style=display=none><tr><td>

<div style=display=none>

这块就比较好理解了,市面上采集多采用元素选择器或者正则进行内容获取,可以把 这些不可显示的内容(html注释、标签)一并获取到。以进行一个对采集内容的混淆。


对,就是这样~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小白如何搭建帝国CMS
帝国CMS 是一款功能强大的内容管理系统(CMS),适用于各种类型的网站,如新闻门户、企业官网、电子商务平台等。本文将详细介绍如何在 Linux 服务器上搭建帝国CMS,并确保其顺利运行。
用户2695996
2025/07/03
1610
如何让帝国CMS7.2搜索模板支持动态标签调用
  帝国cms站内搜索一般不支持动态标签调用,如果要调用如何实现呢?修改两个地方就可以实现了。打开 /e/search/result/index.php 文件,找到(文件改了,不会调用也是徒劳!看看这个帝国cms搜索关键字调用标签(showsearch)怎么用) require("../../class/connect.php"); require("../../class/db_sql.php"); require("../../data/dbcache/class.php"); require("../
ytkah
2018/03/06
1.5K0
国内知名的老牌CMS建站系统,你知道的有哪些?
如今互联网的下半场已经开始,在各种大资本的充斥下,自媒体占据了主流位置,但是无论哪个时代,cms内容管理系统的作用都不可替代,毕竟网站建设这个行业80%的网站都是采用这些老牌的cms网站系统制作,他们对网站建设这个行业的的地位和影响力仍然举足轻重,相信下面这几家老牌CMS系统都伴随了许多老站长的成长,云数据的小编给大家介绍一下。
用户4831957
2023/04/13
3.4K0
国内知名的老牌CMS建站系统,你知道的有哪些?
帝国cms如何调用栏目别名作为分类标题?[!--classname--]标签不能用
  用帝国cms建站安全性和生成速度会比dedecms好些,但ecms有个比较不方便的地方就是后台默认模板栏目那边没有一个seo标题设置的输入框,列表模板用的是[!--pagetitle--]标签,那
ytkah
2018/03/05
2.6K0
帝国cms如何调用栏目别名作为分类标题?[!--classname--]标签不能用
2020最受欢迎的企业网站CMS建站系统排行榜
对于大多数站长来说,企业网站CMS可能再熟悉不过了。但对于新手站长来讲,可能还不太了解什么是企业网站CMS,或企业网站CMS是做什么的。而我们经常可以在网上看见有人问:哪个CMS系统最好用?企业建站用哪个CMS系统?等类似问题。今天,我们一起来看看,2020年站长使用最多、最值得使用的开源免费企业网站CMS建站系统。
亲爱的小孩
2020/06/03
8.1K0
2020最受欢迎的企业网站CMS建站系统排行榜
Sql批量修改帝国cms文章发布时间(需unix时间,否则会变为1970-01-01)
  在迁移网站时,有时我们需要将帝国cms文章发表时间批量修改为当前时间,在帝国cms后台→系统设置→备份与恢复数据→执行sql语句: update phome_ecms_news set newstime = '2014-07-03';    (ps:phome这个是默认的数据库表前缀,如果创建数据库时有设置成其他的可以自行修改)   这样执行sql语句后刷新所有文章,你会发现时间变为了1970-01-01,这是因为newstime这个类型是int(10),必须是unix时间戳,所以我们必须先把当前时间转
ytkah
2018/03/05
2.3K0
Sql批量修改帝国cms文章发布时间(需unix时间,否则会变为1970-01-01)
推荐几款市面上常用的免费CMS建站系统
小编在网站建设行业从业十几年,很多客户或者朋友找我做网站的时候,都喜欢开发一个完全熟悉自己的网站系统,但是小编这里很不推荐。从0到1全新开发,成本,效率和成熟度这些和主流的cms建站系统比起来,完全没有优势,所以大部分建站公司都会选择采用市面上主流的建站系统,今天小编给大家介绍五款我自己用过的还不错的,功能,扩展性都做得很完善。
用户4831957
2023/02/15
5.5K0
推荐几款市面上常用的免费CMS建站系统
帝国CMS设置自动添加水印方法(解决默认手动水印效率问题)
如果我们有在使用帝国CMS上传图片的时候,是不是如果需要给图片添加水印图片需要手工勾选水印选项框才可以添加水印。如果我们忘记勾选就不会有水印,如果我们能实现默认自动水印这样可以提高编辑文章的效率。这个到底有没有办法实现呢?
老蒋
2021/12/27
8890
帝国CMS设置自动添加水印方法(解决默认手动水印效率问题)
解决帝国CMS分页修改[!--list.pageno--]标题不加当前分页号
今天有网友在使用帝国CMS的时候自定义分页模板的时候,需要将当前帝国CMS程序分页标题去掉当前的分页号,这个如何去解决呢?
老蒋
2021/12/27
9390
帝国cms如何调用指定id的文章到首页?
小美女用帝国cms建了一个站,现在首页调出指定id为12的文章作为推荐,附带文章摘要,她想用代码的形式直接掉用,以后方便修改。那么,帝国cms如何调用指定id的文章呢?指定信息id,不是调用指定栏目i
ytkah
2018/03/06
1.5K0
帝国cms是什么?帝国cms如何使用
当我们拥有了网站之后,就需要进行网站的管理了,因为网站突发的情况是非常多的,帝国cms就是一个网站管理系统,很多人可能对此不是特别的了解,我们将在下面为大家介绍。
用户8739990
2021/07/09
6K0
帝国cms是什么?帝国cms如何使用
【说站】帝国CMS后台登录认证码如何开启和关闭
选择帝国CMS因为他的数据处理能力,也因为他的安全性能非常好。后台登录认证码也是帝国CMS安全性能的表现之一。
很酷的站长
2022/11/24
2.3K0
【说站】帝国CMS后台登录认证码如何开启和关闭
帝国cms调用缩略图和具体文章的方法
  我们在用帝国cms建站的时候经常会在首页或者分类页等调用一些文章,如果文章带有展示图也把图片调用出来。帝国cms调用缩略图和具体文章怎么操作呢?我们用帝国cms的灵动标签[e:loop],只要记住
ytkah
2018/03/05
2.3K0
帝国cms调用缩略图和具体文章的方法
如何修改帝国cms文章点击量默认值和成倍增加
  我们在帝国cms发布完文章,在不点击的情况下,“点击量”默认显示为0,请问有什么方法,修改关注默认值吗?这个可以在增加信息时,“特殊属性”标签里修改点击量,如下图   有朋友问有没其他好的方法快速
ytkah
2018/03/06
1.3K0
如何修改帝国cms文章点击量默认值和成倍增加
帝国CMS全自动采集——发布更新教程
首先说明,我对于帝国CMS,也是第一次接触,而且对于程序开发,我本身就是门外汉,我只是一个运用者(做垃圾站的),以前一直用DEDECMS+采集侠,但介于织梦对于处理百万级数据以上时,确实负载较高,我就
用户1272546
2018/06/05
7.7K0
【说站】帝国CMS如何清空数据让栏目、文章id从1开始
我们在用帝国CMS建站过程中,肯定要进行测试,当测试完之后,往往会有很多栏目和文章要删除,之后重新新建栏目和发布文章的时候会发现栏目id和文章id并不是从1开始的,这是因为之前的数据虽然被清空删除了,后面如果新增栏目和文章的话帝国cms会默认的在之前的栏目id和文章id的后面进行递增的,那么如何将之前的栏目id、文章id清理干净,然后实现我们新发布文章id和新建栏目id从1开始呢?
很酷的站长
2022/11/24
1.8K0
【说站】帝国CMS如何清空数据让栏目、文章id从1开始
帝国CMS全自动采集——发布更新教程
首先说明,我对于帝国CMS,也是第一次接触,而且对于程序开发,我本身就是门外汉,我只是一个运用者(做垃圾站的),以前一直用DEDECMS+采集侠,但介于织梦对于处理百万级数据以上时,确实负载较高,我就
用户1191760
2019/02/27
2.8K0
帝国cms 字段处理函数
<?php //---------------------------用户自定义标签函数文件 function add_filename($mid,$isadd,$isq,$classid,$id,$
用户4019897
2022/11/30
2.1K0
帝国CMS文章页面设置TAGS关键字调用及TAGS静态化规则
老蒋今天上午在和朋友讨论他的网站布局问题,他是一个范文类网站,采用的是帝国CMS,选择的CMS是比较好的,毕竟大内容是需要帝国CMS或者织梦这样的静态系统,而不是WP这种博客系统。但是有一个问题,他告知帝国的系统问题,无法设置TAG调用,这里简单先找找是不是有类似的办法。
老蒋
2021/12/27
2.7K0
Web安全 | EmpireCMS漏洞常见漏洞分析及复现
本文将对EmpireCMS(帝国cms)的漏洞进行分析及复现。代码分析这一块主要还是借鉴了大佬们的一些分析思想,这里对大佬们提供的思路表示衷心的感谢。
HACK学习
2021/07/21
7.8K0
推荐阅读
相关推荐
小白如何搭建帝国CMS
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验