首页 > CMS > 帝国Empire > 正文

将loginjs.php改造成插件,纯静态条件下实现回复后,才可以查看下载地址

2024-08-28 12:25:34
字体:
来源:转载
供稿:网友
今天研究把 /e/member/login/loginjs.php改造成插件,实现回复后才可以看特定字段,比如下载地址。

而且还可以限制评论后多长时间,下载地址可见。

思路,是借助 document.writeln("go.php");来实现的。

太晚了,代码还比较乱,先贴上来,请大神来帮忙完善。

这里只是小白的思路取胜法。代码真的很烂。

------内容页模板代码

<h3>文件下载:</h3>
<script type="text/javascript">
document.write('<script src="https://www.wentong.org/e/extend/down/?classid=[!--classid--]&id=[!--id--]&d=<?php echo $navinfor[stb] ?>&t='+Math.random()+'"><'+'/script>');
</script>
<noscript><div class="reply-to-read"><i class="far fa-comment-dots"></i> 温馨提示:你很可能禁用了Java scrip,我们无法正常为你服务,真心抱歉!</div></noscript>

------/e/extend/down/index.php代码(基本来自官方的loginjs.php文件)

<?php
require("../../class/connect.php");
if(!defined('InEmpireCMS'))
{
        exit();
}
eCheckCloseMods('member');//关闭模块
$myuserid=(int)getcvar('mluserid');
$r=array();
$mhavelogin=0;
if($myuserid)
{
        include("../../class/db_sql.php");
        include("../../member/class/user.php");
        $link=db_connect();
        $empire=new mysqlquery();
        $mhavelogin=1;
        //数据
        $myusername=RepPostVar(getcvar('mlusername'));
        $myrnd=RepPostVar(getcvar('mlrnd'));
        $qcklgr=qCheckLoginAuthstr();
        if(!$qcklgr['islogin'])
        {
                EmptyEcmsCookie();
                $mhavelogin=0;
        }
        else
        {
                $r=$empire->fetch1("select ".eReturnSelectMemberF('userid,username,checked')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$myuserid' and ".egetmf('rnd')."='$myrnd' limit 1");
                if(empty($r[userid])||$r[checked]==0)
                {
                        EmptyEcmsCookie();
                        $mhavelogin=0;
                }
        }
}
if($mhavelogin==1)
{
        $down='';
        $id=(int)$_GET['id'];
        $classid=(int)$_GET['classid'];
        $stb=(int)$_GET['d'];
        $r_pl=$empire->fetch1("select userid,classid,id,saytime from {$dbtbpre}enewspl_1 where classid='$classid' and id='$id' and userid='$r[userid]' and saytime>UNIX_TIMESTAMP()-12*3600 order by saytime desc limit 1");
if(empty($r_pl[userid]))
{
$down="<div class=/'reply-to-read/'><p><i class=/'far fa-comment-dots/'></i> ".$myusername." 会员: 你输入用户名 ".$myusername." 和登录密码<a href=/'#respond/' title=/'评论本文/'>「评论本文」</a>,即可获得下载地址(资源有限,地址12小时内有效)。请不要回复无意义内容!</p></div>";
}
else{
$down="<div class=/'reply-to-read/'><p><i class=/'far fa-comment-dots/'></i> ".$myusername." 会员: 你刚刚获得下载地址  <a href=/'https://www.wentong.org/e/extend/down/go2dow.php?classid=".$classid."&id=".$id."&d=".$stb."&g=9/'>/go2dow.php?g=9</a>(12小时内有效,过期请重新评论获取)。请不要回复无意义内容!</p></div>";
}
?>
document.writeln("<?=$down?>");
<?php
        db_close();
        $empire=null;
}
else
{
?>
document.writeln("<div class=/'reply-to-read/'><p><i class=/'far fa-comment-dots/'></i> 温馨提示: 隐藏内容需要输入「用户名、密码」<a href=/'#respond/' title=/'评论本文/'>「评论本文」</a>后查看。</p><p>未注册的,请<a href=/'/e/member/register//' title=/'会员注册/'>「注册」</a>。请不要回复无意义内容!</p></div>");
<?php
}
?>
ecms-plugins-download-after-comment-master.zip
84f9b7ecdc9f974489cf018705a59525.zip (23.57 KB)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表