当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国CMS防灌水机群发的一些功能说明

3年前 (2022-10-21)帝国CMS7198

一、验证码

1、开启验证码

会员注册:后台>“系统设置”>“参数设置”>“用户设置”里开启

发布投稿:修改终极栏目选项设置里的投稿设置

会员登陆:后台>“系统设置”>“参数设置”>“用户设置”里开启

其它地方开启的可以看下参数设置里的相关设置。

2、验证码参数设置

后台>“系统设置”>“参数设置”>“基本属性”里有这三个设置项:

验证码字符组成:比较复杂的可以选用“数字+字母”

验证码过期时间:这个时间越短效果越好,表示从填写信息到提交表单的最长时间间隔。

验证码加密字符串:建议定期修改,被攻击时马上修改。

二、设置表单提交来源

后台>“系统设置”>“参数设置”>“基本属性”>“前台允许提交的来源地址”设置:

http://域名/

一般设置域名地址即可,如果要详细可以将所有表单提交都加上,比如投稿的:http://域名/e/DoInfo/AddInfo.php

三、可以设置发布时间间隔

会员注册:后台>“系统设置”>“参数设置”>“用户设置”>“同一IP注册间隔限制:”:一般设24小时。

发布投稿:后台>“系统设置”>“参数设置”>“信息设置”>“重复投稿时间限制”:设30秒以上为佳

四、设置新会员投稿限制

发布投稿:后台>“系统设置”>“参数设置”>“信息设置”>“新会员投稿限制”:一般可以设置30分钟或60分钟。

此方法只有在栏目投稿权限设置为会员才有效。这个是比较有效的方法,但不适合新开的网站。

五、栏目设置会员才能发布投稿

修改终极栏目选项设置里的投稿设置

六、会员注册可采用邮件激活

后台>“系统设置”>“参数设置”>“用户设置”里开启

七、限制会员每天投稿数量

后台>“用户面板”>“管理会员组”>修改会员组里可以限制会员每天投稿数量

此方法只有在栏目投稿权限设置为会员才有效。

八、定期修改前台COOKIE变量前缀

方法1:修改e/class/config.php文件里的“$phome_cookievarpre”变量内容

方法2:后台>“系统设置”>“安全参数配置”里修改(6.5以上版本支持在线设置)

九、表单设置必填项:

原理:给会员表单或系统模型设置一个隐藏的必填项。

1、会员注册表单:

(1)、后台>“用户面板”>“管理会员字段”>增加一个字段,字段类型TINYINT(1)

(2)、后台>“用户面板”>“管理会员表单”>修改会员表单:

选择刚才增加的字段为录入项、必填项、可增加、可修改;

会员表单模板里加:<input type="hidden" name="字段名" value="1">

然后点修改即可。

建议定期修改字段名,被攻击时马上修改。

2、信息投稿表单:

(1)、后台>“系统设置”>“管理数据表”>“管理字段”>增加一个字段,字段类型TINYINT(1)

(2)、后台>“系统设置”>“管理数据表”>“管理系统模型”>修改系统模型:

选择刚才增加的字段为录入项、投稿项、必填项、可增加、可修改;

录入表单模板和前台投稿表单模板里都加:<input type="hidden" name="字段名" value="1">

然后点修改即可。

建议定期修改字段名,被攻击时马上修改。

十、自制COOKIE或SESSION验证

此方法效果佳,但需要修改代码实现。下面我以COOKIE加密验证为例:

在表单页加以下PHP代码:(此代码前面不能有HTML输出,文件要导入e/class/connect.php文件)

$empirecms_post_key='fdsai388f2f823fff'; //密钥

$empirecms_post_date='Y-m-d-H-i'; //验证时间格式,如何组合自己可以换字符位置与更改联接符-

$empirecms_post_domain='http://www.phome.net'; //验证域名地址

$empirecms_post_ck_var='abcdkpjtf'; //验证COOKIE变量名

$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);

esetcookie($empirecms_post_ck_var,$empirecms_post_chkey);

在接收函数加以下PHP代码: $empirecms_post_key='fdsai388f2f823fff'; //密钥

$empirecms_post_date='Y-m-d-H-i'; //验证时间格式,如何组合自己可以换字符位置与更改联接符-

$empirecms_post_domain='http://www.phome.net'; //验证域名地址

$empirecms_post_ck_var='abcdkpjtf'; //验证COOKIE变量名

$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);

if(getcvar($empirecms_post_ck_var)!=$empirecms_post_chkey)

{

esetcookie($empirecms_post_ck_var,'');

exit();

}

注意事项:表单端和接收端的密钥、验证时间格式、验证域名地址、验证COOKIE变量名要一致,内容自行修改,上面只是例子。定期修改验证内容。

例子:(修改文件建议用DREAMWEAVER修改,可避免UTF-8被转成GBK编码)

1、以会员表单为例:

修改表单端文件:/e/member/register/index.php,打开文件搜索“$ecmsfirstpost=1;”,在这行下面加: $empirecms_post_key='fdsai388f2f823fff'; //密钥

$empirecms_post_date='Y-m-d-H-i'; //验证时间格式,如何组合自己可以换字符位置与更改联接符-

$empirecms_post_domain='http://www.phome.net'; //验证域名地址

$empirecms_post_ck_var='abcdkpjtf'; //验证COOKIE变量名

$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);

esetcookie($empirecms_post_ck_var,$empirecms_post_chkey);

修改接收端函数文件:e/class/user.php,打开文件搜索“eCheckIpRegTime($regip,$pr['regretime']);”,在这行下面加: $empirecms_post_key='fdsai388f2f823fff'; //密钥

$empirecms_post_date='Y-m-d-H-i'; //验证时间格式,如何组合自己可以换字符位置与更改联接符-

$empirecms_post_domain='http://www.phome.net'; //验证域名地址

$empirecms_post_ck_var='abcdkpjtf'; //验证COOKIE变量名

$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);

if(getcvar($empirecms_post_ck_var)!=$empirecms_post_chkey)

{

esetcookie($empirecms_post_ck_var,'');

exit();

}

2、以投稿表单为例:

修改表单端文件:/e/DoInfo/AddInfo.php,打开文件搜索“$tbname=$cr['tbname'];”,在这行下面加: $empirecms_post_key='fdsai388f2f823fff'; //密钥

$empirecms_post_date='Y-m-d-H-i'; //验证时间格式,如何组合自己可以换字符位置与更改联接符-

$empirecms_post_domain='http://www.phome.net'; //验证域名地址

$empirecms_post_ck_var='abcdkpjtf'; //验证COOKIE变量名

$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);

esetcookie($empirecms_post_ck_var,$empirecms_post_chkey);

修改接收端函数文件:e/class/qinfofun.php,打开文件搜索“$keyvname='checkinfokey';”,在这行下面加: $empirecms_post_key='fdsai388f2f823fff'; //密钥

$empirecms_post_date='Y-m-d-H-i'; //验证时间格式,如何组合自己可以换字符位置与更改联接符-

$empirecms_post_domain='http://www.phome.net'; //验证域名地址

$empirecms_post_ck_var='abcdkpjtf'; //验证COOKIE变量名

$empirecms_post_chkey=md5($empirecms_post_key.date($empirecms_post_date).$empirecms_post_domain.$empirecms_post_ck_var);

if(getcvar($empirecms_post_ck_var)!=$empirecms_post_chkey)

{

esetcookie($empirecms_post_ck_var,'');

exit();

}

十一、屏蔽IP段

后台>“系统设置”>“参数设置”>“用户设置”>“访问控制设置”,可设置禁止 IP 访问

技巧:(执行SQL前请先备份数据)

1、批量删除所有未审核会员SQL:

delete from phome_enewsmember where checked=0;

delete from phome_enewsmemberadd where userid not in (select userid from phome_enewsmember);

2、批量删除某一会员ID段会员SQL:(下面是删除2500~3000会员ID之间的会员)

delete from phome_enewsmember where userid>=2500 and userid<=3000;

delete from phome_enewsmemberadd where userid>=2500 and userid<=3000;

3、批量删除所有未审核的信息SQL:

delete from phome_ecms_news where checked=0;

delete from phome_ecms_news_data_1 where id not in (select id from phome_ecms_news);

4、批量删除所有标题包含“cms”的信息SQL:

delete from phome_ecms_news where where title like '%cms%';

delete from phome_ecms_news_data_1 where id not in (select id from phome_ecms_news);

其他说明:

一般开启验证码就能防护(记得定期更改“验证码加密字符串”)。

如果对方确实盯上你的站,针对你的网站来做灌水机,考虑用上面的其他方法结合。

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/508.shtml

“帝国CMS防灌水机群发的一些功能说明” 的相关文章

帝国cms内容页相关内容根据关键字来调用获取

帝国cms内容页相关内容根据关键字来调用获取

网站文章内容页的相关文章,相关推荐是必不可少的,这些内容可以增加我们网页内容的相关性以及良好的内链结构,是对做SEO优化是很有帮助的。 在使用帝国cms模板建网站的时候,内容页需要调用当前文章的其他相关的文章,根据关键字调用,这样就实现相关性了。 代码示例如下: <?php if ($nav...

帝国CMS调用最新DIGG顶数量最多的文章

帝国CMS调用最新DIGG顶数量最多的文章

帝国CMS的DIGG顶数最多的文章怎么调用呢? [e:loop={'select * from [!db.pre!]ecms_news where checked=1 order by diggtop desc,id desc limit 8',10,24,0}] <li><a ...

帝国CMS做单页自定义页面怎么调用

帝国CMS做单页自定义页面怎么调用

做帝国cms模板网时候,经常需要使用到自定义页面,例如我们做单页(比如“公司介绍”、“联系我们”,联系我们等页面)时一般采用自定义页面的方式来做,那么帝国CMS自定义页面怎么调用呢? 调用出自定义页面导航可以用标签SQL调用。如下: 例子1:调用自定义页面分类ID=1的页面导航 [e:loop={...

帝国CMS几个函数RepPostVarRepPostVar2RepPostStrRepPostStr2的用法

帝国CMS几个函数RepPostVarRepPostVar2RepPostStrRepPostStr2的用法

帝国CMS常用或者经常遇到的几个函数RepPostVar,RepPostVar2,RepPostStr,RepPostStr2的用法! (1)、数字型变量可以用(int)或intval函数处理,例子: $page=(int)$_GET['page']; 或 $page=intval($_GET['p...

帝国CMS列表页判断是否有标题图片没有则显示指定的图片

帝国CMS列表页判断是否有标题图片没有则显示指定的图片

帝国CMS列表页模板里面怎么判断文章是否有标题图片,如果没有图片就调用显示默认或者指定的一张图片!   第一种方法、用php判断:   ①、复制以下代码带到“列表内容模板” if(empty($r[titlepic])) { $pic=''; } else { $pic='<img src=...

帝国cms信息反馈开启验证码

帝国cms信息反馈开启验证码

1、后台-系统设置-系统参数设置-信息设置-反馈验证码(后面点开启) 2、信息反馈本身并无放置验证码代码,所先复制评论的验证码代码,后台-模板-评论列表模板-管理评论模板-修改-复制其中的验证码代码 代码如下: 验证码:<input name="key" type="text" size=...