银杏114在线服务群
技术小白DIY经验(心得)第四贴解决已设置为积分购买后才能查看的信息通过点击修改会暴露的问题
706
7

分类信息设置需要花费积分才能查看的,内容页面确实显示隐藏了,不花积分是不能看的,但内容页上面有个删除、修改按钮,点击修改,电话号码等信息全部暴露了。

点击那个修改,则全部暴露无遗

我是通过分类信息模块复制出来的求购栏目,所以仍以分类信息文件来做说明。

修改办法一:

打开template\index_style\default\fenlei\content\show.htm 找到第4647行,

<span onclick="delinfo({$info.id})"><i class="fa fa-trash-o"></i> 删除</span>
                            <span onclick="editinfo({$info.id})"><i class="fa fa-edit"></i> 修改</span>


这段代码应加上判断代码,如果是管理员或信息发布者则执行显示这段代码,否则不执行显示这段代码。用如下代码替换4647行这段代码

{if $userdb.uid==$info.uid or $userdb.uid==1}
                            <span onclick="delinfo({$info.id})"><i class="fa fa-trash-o"></i> 删除</span>
                            <span onclick="editinfo({$info.id})"><i class="fa fa-edit"></i> 修改</span> {/if}

这个效果就不截图了。

修改方法二:

或者在删除函数delinfo({$info.id})、编辑函数editinfo({$info.id}),加上判断,是管理员或信息发布者本人,则函数执行为真,否则error,绝对不能让程序调用出修改页面。

其实最严格的方法是在修改页面增加判断,判断规则如上,否则报无权限,这样就可以堵住直接输入修改编辑页面以及对应内容ID就只可以显示隐藏信息的漏洞。这个事就留着官方下次升级的时候做吧。言归正传修改办法如下:

打开template\index_style\default\fenlei\content\show.htm 找到第100-102 用如下代码替换。

function editinfo(aid){
if("{$userdb.uid}"=="{$info.uid}" || "{$userdb.uid}"==1)
  {
   location.href = "{:urls('content/edit')}?id="+aid;
        }
         else{layer.confirm("您没权限:");}
}

添加上去之后,再点修改,如果不是信息发布者本人或是管理员,则跳出信息如下图。

6
赏礼
赏钱
收藏
点击回复
      全部留言
  • 7
  • aria 普通粉丝 消费:2460.49元 2019-03-14 01:28 01:28
    其他手机
    6楼
    能不能写个后台统计全部会员总的资金余额和积分余额的代码呢?
    银杏114在线 消费:3609.79元 2019-07-31 23:05
    这个要官方解决,不会,哈哈
0 赏钱 赏礼回复
  • 银杏114在线 实战运营者 消费:3609.79元 2019-07-31 23:05 23:056楼

    自己顶下,呵呵

0 赏钱 赏礼回复
  • aishang 普通粉丝 消费:0元 2019-05-02 12:12 12:126楼

    帖子写的太详细了

0 赏钱 赏礼回复
  • 阿胶小枣 普通粉丝 消费:0元 2019-03-14 00:07 00:07
    三星
    6楼
    这精神绝对赞
0 赏钱 赏礼回复
  • aria 普通粉丝 消费:2460.49元 2019-03-13 23:23 23:23
    其他手机
    6楼
    就佩服有动手能力的
0 赏钱 赏礼回复
更多回复
恢复多功能编辑器
  • 3 1
  • 银杏114在线服务群
        圈内贴子34
    • 圈子成员12
    本圈子内的新贴

    推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648