一、验证码
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);
其他说明:
一般开启验证码就能防护(记得定期更改“验证码加密字符串”)。
如果对方确实盯上你的站,针对你的网站来做灌水机,考虑用上面的其他方法结合。 总结
以上是内存溢出为你收集整理的帝国CMS防灌水机群发的一些功能说明全部内容,希望文章能够帮你解决帝国CMS防灌水机群发的一些功能说明所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)