限制某会员发布文章(防止被人恶意发布信息)

伟权叔叔 · 3226次点击 · 4周前

近期在群里有看到有一些群友网站被人恶搞,可以通过一些设置来对网站发布文章门槛进行设置

a.可以单独对网站某个用户的账号进行禁止发布文章,其他账号不受影响,均可正常使用

b.被禁止发布文章的用户需要管理员手动进行单独解禁,降低被恶搞的风险

1、在后台会员模块中创建一个“发布文章权限”字段,字段标识为isarticle

1.png

选择单项选择,输入“允许发布文章=1,禁止发布文章=2”

2.png


3.png

image.png

2、打开app\home\c\UserController.php,文件,也可以将UserController.php复制一份到app\home\plugins下面,防止更新呗覆盖。

打开文件后找到release方法大概在1108行中新增以下代码

//限制发文章开始
$isarticle = M('member')->find(['id'=>$this->member['id']]);
if($isarticle['isarticle']==2||$isarticle['isarticle']==''){
if($this->frparam('ajax')){
JsonReturn(['code'=>2,'msg'=>JZLANG('您的账号没有发布文章的权限,不能发布帖子!')]);
}
Error(JZLANG('您的账号没有发布文章的权限,不能发布帖子!!'));
}
//限制发文章结束

image.png

这时候登录会员中心,进入投稿页面点击提交按钮就能看到被封禁的提示。

image.png

实现过程还是比较简单的~~


到这一步已经实现了

下面可有可无


如果想更加直观的提示该账户没有权限的可以继续往下看

image.png

打开网站模板下的user/article-add.html文件,在30行代码后面添加如下几句话

{if($member['isarticle']==2||$member['isarticle']=='')}
<p class="danger">您的账号没有发布文章的权限,不能发布帖子!如有疑问请向管理员申请</p>
/if}

添加css

<style>
.danger{ display: block; margin-bottom: 20px; color: #f00; }
</style>

image.png

这样就完成了!


欢迎大家补充~


被收藏 0  ∙  8 赞  
加入收藏
3 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站