帝国cms验证密码操作插件(删除、修改、提交)
简介:针对链接、表单操作前需要输入专用密码,验证通过后方可执行
应用场景:后台部分资料或者信息需要通过验证专用密码后才能执行操作。支持表单、链接等
修改步骤:
压缩包解压后上传至 e/extend/,需要修改的页面引入插件依赖
php:
<?php
require ECMS_PATH.'e/extend/checkPower/funs.php';
?>
js:
<script type="text/javascript" src="<?=$public_r[newsurl]?>e/extend/checkPower/jquery.js"></script>
<script type="text/javascript" src="<?=$public_r[newsurl]?>e/extend/checkPower/checkPower.js"></script>
======================
链接优化:
原链接:<a href="ecmsinfo.php?enews=DelNews&id=<?=$r[id]?>&classid=<?=$classid?>&bclassid=<?=$bclassid?><?=$addecmscheck?>" onClick="return confirm('确认要删除?');">删除</a>
优化链接:<a href="javascript:void(0)" onClick="return checkPower(this)" data-urlcode="<?=authcode("ecmsinfo.php?enews=DelNews&id={$r[id]}&classid={$classid}&bclassid={$bclassid}{$addecmscheck}",'ENCODE',‘’,0);?>">删除</a>
优化后执行结果:<a href="javascript:void(0)" onClick="return checkPower(this)" data-urlcode="0d3d9sHVa/bPT+Irwqti5ESw07ZdNAtzdpuCBSik7ZQg+ozx9ZYVjSRKH4aRH1PWM2Ff19XpPpLpB8aN6KyEio9sliWqzwHfUwfaXkRaQA+QTF4">删除</a>
优化说明:蓝色字体部分为调整部分,通过php方法 authcode(‘原链接’,'ENCODE',‘’,0); 对原链接进行加密输出,即:data-urlcode="<?=authcode(‘原链接’,'ENCODE',‘’,0); ?>",这样点击的时候提示输入密码,密码通过执行该链接
按钮优化:
优化前:<input type="submit" name="Submit3" value="删除" onClick="document.listform.enews.value='DelNews_all';document.listform.action='ecmsinfo.php';">
优化后:<input type="button" name="Submit3" value="删除" onClick="checkPower('',function(){document.listform.enews.value='DelNews_all';document.listform.action='ecmsinfo.php';document.listform.submit();})" >
优化说明:蓝色部分为修改部分,密码验证通过后执行红色部分代码,因为将按钮的类型从提交改成普通按钮,所以需要添加提交表单的代码”document.listform.submit();“ listform为当前表单的名称。
JS:checkPower(参数1,参数2) 说明
参数1:传入加密后的字符串,用于链接,当作为提交按钮时候留空
参数2:验证密码通过的回调。
示例:<button type="button" onclick="checkPower('',function(){ alert('密码通过,执行业务代码'); })">删除</button>,点击按钮后提示输入密码,密码验证通过执行页面弹出提示框,内容为”密码通过,执行业务代码“