前言
作为内测用户,除了提交子比V6.0的相关bug之外。
最近也在做一些二次开发的页面,由于本人的专业是网络安全,因此有很多工具,如Fofa高级查询等等一系列的功能是不能对外开放的,因此就需要对页面的权限进行判断,也就有了本篇文章。
声明
我不是专门做二次开发的,如果代码有所疏漏还希望专家们能够多多指正
效果展示
利用了wordpress子比主题V6.0新的用户等级权限功能,实现仅某个用户组才能阅读某个页面的权限功能。
认证用户组显示界面
未登录状态下界面
登录且未认证提示界面
开发思路
基于页面功能
主要是基于Wordpress的创建页面功能,我们需要在wp-content/themes/zibll/pages
文件夹下,新建一个php文件
比方说,我这里建的是fofa.php
,模板如下
<?php
/**
* Template name: FoFa-高级查询
* Description: Fofa搜索引擎高级查询
*/
get_header();#需要头部就写,不需要这行就删掉
?>
<!--这里需要填写你的网页内容-->
<?php
get_footer();
判断未登录用户方法
- !is_user_logged_in() 表示没有登录的用户
- zib_get_nocan_info($user_id, $capability, $msg = ”) 该函数主要用来提醒权限不足,第二个是权限能力名称,第三个msg是用来提示用户的,当然我们这里后两者不需要调用,随便填也可以
相关核心代码
<?php if (!is_user_logged_in()){
echo '<div class="flex jc" style="min-height:50vh;">';
echo zib_get_nocan_info($cuid, 'fofa_api', '您都没登陆咋用FOFA高级查询');
echo '</div>';
}?>
判断已登录但没有认证的用户方法
- is_user_logged_in() 表示已经登录的用户
- !zib_is_user_auth() 表示没有认证的用户
相关核心代码
<?php if (is_user_logged_in() && !zib_is_user_auth()) {
echo '<div class="mb20 wp-posts-content"><div class="hide-post mt6"><div class=""><i class="fa fa-unlock-alt mr6"></i>Fofa高级查询仅对内部人员开放</div><div class="text-center em09 mt20"><p class="separator muted-3-color mb20">以下用户组可查看</p><p><a class="but mm3" href="https://www.iculture.cc/user/auth"><svg class="mr6 em12" aria-hidden="true"><use xlink:href="#icon-user-auth"></use></svg>认证用户</a></p></div></div></div>';
echo '</div>';
}?>
判断认证的用户
- zib_is_user_auth() 表示已经认证的用户
相关核心代码
<?php if (zib_is_user_auth()) { ?>
<!--这里填你想给认证用户组展现的内容-->
<?php
} ?>
案例
这里把之前群友分享的抖音等等去水印的页面拿过来,稍作修改便实现了下面的效果
效果展示
- 未登录状态
- 已登录但非VIP1以上的用户提示
- VIP1以上的用户
开发思路
我们需要在原来的代码基础上,进行完善,首先是增加登录判断
<?php if (!is_user_logged_in()){
echo '<div class="flex jc" style="min-height:50vh;">';
echo zib_get_nocan_info($cuid, 'watermark', '您都没登陆就想去水印啊');
echo '</div>';
}?>
其次,我们需要给登录但不是LV1以上用户,做一个提示
<?php if (is_user_logged_in() && zib_get_user_vip_level($user_id)<1){
echo '<div class="mb20 wp-posts-content"><div class="hide-post mt6"><div class=""><i class="fa fa-unlock-alt mr6"></i>在线去水印功能已隐藏</div><div class="text-center em09 mt20"><p class="separator muted-3-color mb20">以下用户组可使用</p><p><a class="but mm3 pay-vip" vip-level="1" href="javascript:;"><img class="img-icon mr6 em12 ls-is-cached lazyloaded" src="https://www.iculture.cc/wp-content/themes/fancypig/img/vip-1.svg" data-src="https://www.iculture.cc/wp-content/themes/fancypig/img/vip-1.svg" data-toggle="tooltip" title="" alt="披萨会员" data-original-title="披萨会员">披萨会员及以上会员</a></p></div></div></div>';
} ?>
最后,对于登录且是LV1以上的用户,我们让这类用户可以使用去水印的功能
<?php if (is_user_logged_in() && zib_get_user_vip_level($user_id)>=1){ ?>
<!---->
<div class="inputUrl">
<input class="textUrl" type="text" placeholder="请粘贴视频链接" id="input1" class="longurl">
<input class="btn sendBtn" type="button" onclick="setValue()" value="解析">
</div>
</form>
<div class="down"></div>
<div id="myDiv"></div>
</div>
<script>
function setValue(){
var v = document.getElementById("input1").value;
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.open("GET","https://tenapi.cn/video?url="+v,false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
var jsonObj = JSON.parse(xmlhttp.responseText);
$(".down").html('<h4 id="form-title" style="font-weight: 700;">'+jsonObj.title+'</h4><a id="form-cover" href="'+jsonObj.cover+'" target="_blank" download="video">下载封面</a><a id="form-video" href="'+jsonObj.url+'" target="_blank" download="video">下载视频</a><a id="form-music" href="'+jsonObj.music+'" target="_blank" download="video">下载音乐</a>');
}
</script>
</html>
<!---->
<?php
} ?>
项目完整代码
🎉 恭喜你发现了宝藏!>>点此前往<<
👋 感谢您的观看,对您有用就分享出去吧 !
如您有好的资源/素材,可参与创作者激励计划享投稿分成。分成介绍 投稿成功收录,即可获得1-10 元/篇奖励。(重复内容无奖励)
本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
© 版权声明
THE END
文章不错?点个赞呗
相关推荐
随机看看好帖需要善于发现
热门圈子总有聊不完的话题
暂无评论内容