网站被篡改_网页内容修改

网站被篡改_网页内容修改   NetCMS的相关新闻显示是根据新闻的Tag来查找所有具有相同的Tag的新闻,然后将其显示的。如,某条新闻的Tag是“工资|奖金”,那么会用下列SQL语句来查找具有相同Tag的新闻:selecttop5*fromahjdcw.NT_NewsWhere[isRecyle]=0And[isLock]=0And[SiteID]=0   And([Tags]L

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

    NetCMS的相关新闻显示是根据新闻的Tag来查找所有具有相同的Tag的新闻,然后将其显示的。如,某条新闻的Tag是“工资|奖金”,那么会用下列SQL语句来查找具有相同Tag的新闻:

select top 5 * from ahjdcw.NT_News
Where [isRecyle]=0 And [isLock]=0 And [SiteID]=’0′
    And ([Tags] Like ‘%工资%’ or NewsTitle Like ‘%工资%’ or [Tags] Like ‘%奖金%’ or NewsTitle Like ‘%奖金%’ or 1=2)
Order By [CreatTime] Desc,id Desc

 

    新闻内容页是通过Content.aspx页面来实现的。实现原理是,逐步查找模板中的所有标签,然后用相应的内容去替换。如显示新闻内容时,在LabelMass类中,使用正则表达式,用ParseContent()方法查找[NT:unLoop,NT:SiteID=0,NT:LabelType=ReadNews]…[/NT:unLoop]标签,再用Parse()方法替换{Title}{Content}等内容字段。

    关键在于,相关新闻的标签

[NT:Loop,NT:SiteID=0,NT:LabelType=CorrNews,NT:Number=5,NT:Desc=desc,NT:DescType=date,NT:isDiv=true,NT:TitleNumer=50]

<li><a href=”{#URL}”>{#uTitle}</a></li>

[/NT:Loop]

是嵌套在【ReadNews 标签】中的。LabelMass类Parse()方法调用Analyse_CorrNews()方法,Analyse_CorrNews()方法再调用Analyse_List()方法,Analyse_List()方法调用Analyse_ReadNews()去解析标签字段内容去替换{Title}内容字段时,会把相关新闻的{Title}字段也一并替换掉了,造成下一步去解析CorrNews标签时,已经没有{Title}字段可以替换了,因此造成同一个新闻标题(实际上就是本条新闻标题)会重复显示多次。如下所示:

·工作人员文明礼貌用语

·工作人员文明礼貌用语

·工作人员文明礼貌用语

·工作人员文明礼貌用语

·工作人员文明礼貌用语

 

    解决办法是:解析ReadNews标签时,先暂时将CorrNews标签内容去掉。解析完成后,再添加回去,以不影响下一步解析。

    修改NetCMS.Publish项目内的LabelMass_Method4.cs文件中的Analyse_ReadNews方法。

    1、第一行增加以下代码,用以保存要去掉的CorrNews标签。

    string CorrNews = null;

    2、在以下代码后:

            if (NewsTF == 1)
            {

                str_Style = this.Mass_Inserted;

    增加以下代码:

                // 如果是读取新闻内容标签,去掉相关新闻标签
                if (this.Param_LabelType == EnumLabelType.ReadNews)
                {

                    string pattern = @”/[NT:Loop,[^/]]+/][/s/S]*?/[/NT:Loop/]”;
                    Regex reg = new Regex(pattern, RegexOptions.Compiled);
                    Match m = reg.Match(str_Style);
                    if (m.Success)
                    {

                        CorrNews = m.Value;
                        int pos = str_Style.IndexOf(CorrNews);
                        int len = CorrNews.Length;
                        str_Style = str_Style.Substring(0, pos – 1) + “[NT:Loop,NT:SiteID=0,NT:LabelType=CorrNews]” + str_Style.Substring(pos + len);
                    }
                }

    作用是取出CorrNews标签部分,用”[NT:Loop,NT:SiteID=0,NT:LabelType=CorrNews]” 取代,便于后面将CorrNews标签再加回去。

    3、在以下代码之前(快到Analyse_ReadNews方法结束了),加入以下代码:

                // 将相关新闻标签再加回去
                if (this.Param_LabelType == EnumLabelType.ReadNews)
                {

                    if (CorrNews != null || CorrNews.Trim() != “”)
                    {

                        str_Style = str_Style.Replace(“[NT:Loop,NT:SiteID=0,NT:LabelType=CorrNews]”, CorrNews);
                    }
                }

    重新生成NetCMS.Publish和NetCMS.Web项目,将NetCMS.Web项目Bin文件夹下生成的NetCMS.Publish.dll文件复制到网站的bin文件夹下覆盖同名文件,就OK了。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187593.html原文链接:https://javaforall.net

(0)
上一篇 2022年9月30日 上午8:16
下一篇 2022年9月30日 上午8:16


相关推荐

  • 岭回归算法_tikhonov正则化与岭回归

    岭回归算法_tikhonov正则化与岭回归岭回归算法简介回归算法的本质上就是为了解决一个线性方程:Ax=b标准估计方法是普通的最小二法的线性回归,然而如果x是一个病态的矩阵,在这种情况下使用普通最小二法估计会导致过拟合或者欠拟合的情况。此外,岭回归还可以处理矩阵阵列的多重共线性问题。通常最小二乘法寻求的是最小花平方残差的综合,公式:在岭回归中,在这种最小化中加入正则化项:其中Г是Tikhonovmatrix矩阵,在许…

    2022年8月21日
    11
  • Linux下C语言 system函数返回值「建议收藏」

    Linux下C语言 system函数返回值「建议收藏」例:status=system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。2、如何正确判断test.sh是否正确执行?仅判断status是否==…

    2025年12月15日
    5
  • OpenClaw小龙虾技能包大全|最新整理版:100+必装技能、安装命令与用法(持续更新)

    OpenClaw小龙虾技能包大全|最新整理版:100+必装技能、安装命令与用法(持续更新)

    2026年3月13日
    2
  • SpringCloud、Istio比较

    对比项 SpringCloud Istio AutoScaling&selfhealing HealthIndicator PoolEjection Deployment&Scheduing 无 Deploymentstrategy,DarkLaunch,A/B,cannary Resilience&Fault…

    2022年4月15日
    270
  • Python源代码_源代码版权和软件著作权

    Python源代码_源代码版权和软件著作权一个小需求:在申请软件著作权的时候,需要提交一页50行,总共60页的源代码。但是设计的项目保存在多级的目录下,不想一个一个复制,遂通过python,os模块获得全部目录的文件,re正则化过滤无效源代码,然后基于docx模块写入到word中。涉及的模块有os,docx,re同学们要自行下载上述的模块,使用pipinstallXXX就可以的。。python大法好呀那我们就分为2个大的…

    2026年2月15日
    3
  • 多线程处理mq消息_实现多线程有几种方式

    多线程处理mq消息_实现多线程有几种方式何为CMQ?腾讯云消息队列(CloudMessageQueue,CMQ)是一种分布式消息队列服务,它能够提供可靠的基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)之间的收发消息,存储在可靠有效的CMQ队列中,防止消息丢失。CMQ支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。——来源以及更多内容推荐看官方文档。…

    2025年7月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号