在众多CMS系统中,为什么我偏偏选中了 PHPCMS 而不去选择使用人数最多的织梦CMS,也没有选择论坛人气很高的帝国CMS,更没有选择其他诸如齐博,DESTOON等CMS。...phpcms关键字替换功能强大 优先级 如果长关键字包含短关键字,那么先替换长关键字 什么情况下不替换 若该关键字在文章中本身就存在链接,则不进行替换 还有一种情况,直接举例 设置的关联链接关键字为:我很爱你...即使文章中包含了'我很爱你'这个词,但是却已跟其他词组合成了锚文本,那么就不会再替换,如'爱你','其实我很爱你' PHPCMS扩展性强 使用PHPCMS扩展性能非常强,进行二次开发相比其他程序更加的容易...phpcms有哪些缺点 任何一款CMS都不是完美的,phpcms同样如此。...这也正是PHPCMS的魅力所在。
0x00 背景 最近做代码审计的时候发现phpcms 有更新,现在漏洞详情基本不公开,想要知道漏洞的利用方法只能自己审计了,通常可进行新旧版本的代码比较了,来定位旧版本的漏洞位置,便下载了phpcms...9.6.3与phpcms 9.6.1 和phpcms 9.6.2的源码进行比较和审计,发现phpcms 9.6.2 中存在任意文件下载补丁绕过和前台SQL注入,便撰写了本文做个记录,期待和师傅们的各种交流和讨论...0x01 任意文件下载补丁绕过 对比phpcms 9.6.2 版本与phpcms 9.6.1版本版本中针对任意文件下载漏洞的修复方法,发现仅是将检测的代码由原本的phpcms_9.6.1_UTF8\phpcms...\modules\content\down.php109行修改为\phpcms_v9.6.2_UTF8\phpcms\modules\content\down.php的126行,虽然改为在下载前进行文件的黑名单检测...要对此漏洞进行利用需要使用\phpcms\libs\functions\global.func.php中的sys_auth方法,\phpcms\libs\classes\param.class.php中的
实验目的 通过本实验理解SQL注入基本原理和过程,掌握菜刀和Havij等注入工具的使用方法,了解SQL注入的危害。...实验环境 测试渗透机:win2k8SvrTester 工具:中国菜刀、Havij 目标服务器(靶机):phpcms网站 目标网站:http://IP:8083 实验原理 PHPCMS框架网站的相关页面存在...http://IP:8083(注意根据查看到的靶机IP地址,修改此处的IP,端口不变,以下截图中,均应将端口修改为8083),然后点击其中的一篇文章,如果地址栏出现http://***/xx.php?...选择username、password列,点击Get Data得到当前数据库的用户名和密码加密后的值。 通过www.cmd5.com查询,得到对应的密码明文。 步骤四:登陆后台。...实验总结 通过本次实验,大家可以体会到SQL注入给WEB带来的危害是非常大的,应该及时对服务器进行加固配置,应用软件及时升级为最新版本,减小网站被侵入的风险。
栏目列表的基本代码 {pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"} {loop...$data $r} {$r[catname]} {/loop} {/pc} 调用哪一级别的栏目列表,主要取决于参数catid的值。...一级栏目列表 catid="0" 同级栏目列表 catid="$parentid" 比较复杂的情况 如果我们的栏目有很多级,希望取到最小栏目的父栏目列表该怎么办? 这串代码的意思是,取出当前栏目的所有子栏目ID,观察下数据库会发现,位于最右边的则是当前栏目的最小子栏目ID,所以取出最后一个栏目的ID,最后就用$CATEGORYS得出最小栏目ID的父栏目ID。...listorder ASC"} {loop $data $r} {$r[catname]} {/loop} {/pc} 原理跟基础代码相同,把catid的值变成了上面定义的
有时咱们需要制作二级分类,三级分类,甚至更多级别的分类,那么PHPCMS如何调用多级分类呢?...listorder DESC"} {loop $data $r} {$r[catname]} {/loop} {/pc} 其中catid指上一级的分类...也就是说只要再嵌套一层,获取到上一级的分类ID即可。...="{$v[url]}">{$v[catname]} {/loop} {/pc} {/loop} {/pc} 这里重点是 r[catid] --- 上一级分类的ID...,要想第三级分类,再嵌套一层,那么获取的上级分类ID就是 v[catid] ,不断的更改loop循环的关键字的值,在这里第一级是r,第二级是v,第三级可以是
开始,明月才算是开始学习自己运维服务器,跟很多站长不同的是明月的运维是从控制台终端开始的,各种服务器面板我试用过几个主流的,但我都没有在自己的 VPS 上使用过,自己的服务器我还是偏向于控制台终端的形式来管理...那么怎么提升面板的安全性呢?很简单那就是成为面板的付费用户即可,这里我就不多说啥了,就一句话“免费是最贵”的。...强烈建议大家参考阅读『跟 Windows 完全不同的 Linux 内存机制』一文了解。 非 Web 面板的优势 自由,有时候不的不说自由真的是很宝贵的,root 在我手,一切都是我说了算。...,有人说明月总是说使用面板的都是小白,这个话我没有感觉有哪里不对的,至少到现在为止明月碰到的使用面板的真的是“小白”,我想这位同学纠结的是“小白”两字儿,心胸过于狭隘了!...好了,通过今天这篇文章我想很多站长们应该都清楚运维我为什么不用 Web 面板了吧?有啥不明白的大家可以在评论里提出来,明月会及时回复的,谢谢大家的支持!
phpcms中自带的评论插件很好用!...但是样式个人感觉丑的狠,百度一下也没能找到解决方式,也许是自己的搜索方式不对,于是自己就研究了研究,这里可以使用两种方法进行修改 方法一: 使用PHPCMS中的get方法进行获取数据 1 //拼接评论表的... 17 18 {/loop} 19 {/pc} 方法二: 除了使用get方法进行获取数据之外还有一种最简单的方式...,找到 /phpcms/templates/default/comment/show_list.html 找到如下代码,进行样式的修改即可 1 {pc:comment action="lists" commentid
最新版本的PHPCMSV9直接在栏目设置中选择“是否生成到根目录”即可。新建栏目和已存在栏目没有区别,修改后,更新一下缓存即可。...下面是原来的方法(已过期) 我所使用的是PHPCMSV9默认情况下生成的静态页面,都是位于html文件夹下,我不希望有太长的url,所以接下来让我们一起来解决路径中html的删除方法。...在新建栏目时,在“生成HTML设置”中,设置“是否生成到根目录”为 “是”时,那么它的就会生成为根目录了。不过这种方法对已经添加过的栏目再做修改时该功用无效,依旧是第一次的设置的路径。...那么已经新建过的栏目如何修改html路径呢? 只能在数据库里改了,进入phpmyadmin,打开 V9_category表,找到该栏目对应的字段url所对应的值,然后把/html就行了。。
前段时间在Loki2.0发布时,更新了一个配套的用LogQL语法绘制Nginx监控面板的Demo。今天小白准备用同样的手法炮制一个基于Traefik日志的监控面板。...还不清楚之前Nginx面板操作的同学可以看参考文末后的推荐阅读。 Traefik Traefik是一个用Golang实现的云原生轻量级HTTP反向代理工具。...那么,Traefik的可观察性除了打开默认的Metrics之外,我们还可以通过日志方式绘制实时监控面板。...的日志重定向到文件目录 绘制Grafana面板 大体的监控面板,小白已经绘制好并发布到Grafana Lab,我们访问页面https://grafana.com/grafana/dashboards/13713...Nginx面板,不过在"抄袭"的过程中也能学习到几个LogQL的重要语句的使用场景。
前段时间在Loki2.0发布时,更新了一个配套的用LogQL语法绘制Nginx监控面板的Demo。今天小白准备用同样的手法炮制一个基于Traefik日志的监控面板。...那么,Traefik的可观察性除了打开默认的Metrics之外,我们还可以通过日志方式绘制实时监控面板。...的日志重定向到文件目录 绘制Grafana面板 大体的监控面板,小白已经绘制好并发布到Grafana Lab,我们访问页面https://grafana.com/grafana/dashboards/...将下载的面板json文件导入到Grafana,导入后更换uid和Loki源 ? 导入后你将获得一个空白的面板,如下 ?...总结 Traefik的面板仅仅只是依葫芦画瓢的抄袭了官方的Nginx面板,不过在"抄袭"的过程中也能学习到几个LogQL的重要语句的使用场景。
使用PHPCMS的同学在网站搬家的时候,数据库基本上也肯定会换,但是新数据库的帐号密码跟原来的不同,那么phpcms数据库连接的文件在哪?
我个人喜欢把PHPCMS当作博客来用,而作为一个博客,怎能少了文章置顶功能呢?其中用PHPCMS实现置顶功能非常简单,无非是修改下推荐位的名称为置顶,然后在文章列表中推送需要置顶的文章罢了。...不过博客系统中置顶文章可不会与文章列表中的文章重复,要解决这个问题其实也不难,看代码 {pc:content action="lists" catid="1" num="20" where="posids...order="id desc"} {loop $data $v} {$v['title']} {/loop} {/pc} 调用分类ID为1的文章列表...,并设置条件 posids 不等于 1 这样就实现了置顶文章与文章列表的文章不重复的功能了。...凡是设置了推荐位的文章,不管你设置的推荐ID是1,2,还是3,在数据库中posids的值都会变成1,没有设置推荐的文章则为0,这下明白我为什么要那么做了吧!
统计面板可以用于显示一个大的统计值和一个可选的背景颜色,我们可以使用阈值来控制背景或颜色值,效果如下所示: 注意:该面板取代了在 Grafana 7.0 中已弃用的 Singlestat 面板。...文本模式 首先创建一个空的面板,选择使用 Stat 面板: 首先添加一个用于查询节点运行时间的统计数据: 同样我们可以在面板编辑器右侧对该面板的属性进行编辑,可以选择展示的方向是水平还是垂直,文本展示模式选择只展示...然后用同样的方式再添加一个统计 CPU 核数的统计面板: 比如还可以添加一个统计节点总内存的统计面板: 统计面板的属性配置都可以根据我们自己的需求进行配置。...,比如我们选择使用 Markdown 模式,则可以在面板内容区域输入想要展示的 Markdown 内容,比如我们输入如下所示的内容: # 这是一级标题 ## 这是二级标题 这是正文内容,**我是加粗...**,`我是强调`。
Linux搭建 Minecraft 1.17.1 Java版 服务器教程,带网页管理面板。...1核2G内存 5兆带宽的服务器大约可以同时在线10到15人,2核4G 10兆的服务器大约可以同时在线30到40人。 购买服务器后选择安装centos7系统,然后用ssh登陆服务器。...面板代码与运行环境自动安装在 /opt/ 目录下。...若一键安装不起作用,则可以尝试手动安装,参考这篇文章:https://blog.zeruns.tech/archives/584.html#安装面板 安装完成后访问 http://你的服务器ip:23333.../ 即可进入面板。
2、如何设置您可以登录后台进入模块或者频道的栏目管理,然后在线修改任何一个栏目设置即可改变参数值。...修改栏目参数设置系统会更新phpcms_category里相应记录的值,同时把各栏目基本信息数组缓存到 ....3、作用范围CATEGORYS 数组是系统默认加载的,可以在当前模块或频道的任何php文件和模板中调用。...常用的有 CATEGORYS[catid][catid] 栏目id CATEGORYS[catid][module] 栏目所在的模块 CATEGORYS[catid][type] 栏目类型 CATEGORYS...CATEGORYS[top_parentid][catid]} 顶级栏目ID {CATEGORYS[CATEGORYS[ {CATEGORYS[CATEGORYS[ 总之原理也就那样吧,还有很多可以调用的东西
LNMP和LAMP环境的安装 安装完成在浏览上打开面板的地址,登入面板,面板会自动推荐你安装环境套件,这里有两种选择,第一种是LNMP套件,第二种是LAMP套件: LNMP和LAMP环境主要的区别在于...如果不需要这些套件也可以在面板左侧功能栏选择《软件管理》,在当前列表自行选择安装程序。...选择安装后的程序后,面板的左上角,会自动显示任务的数量,点击后进入任务列表: 在当前界面会显示程序的安装进度,或程序执行进度等。等待一段时间后,查看任务列表中的信息,查看是否完成。...Tomcat环境的安装 如果用于JSP开发项目,就需要用到Tomcat,安装Tomcat服务器,选择面板左侧工具栏,软件中心,在选择Tomcat安装的即可,同理,在任务列表中可以查看当前的安装状态。...(如图): Node.js环境的安装 如果用于Node.js开发的项目,就需要用到PM2进程管理工具,安装PM2管理工具,和安装Tomcat程序一样,在面板左侧工具栏,软件中心,在选择PM2安装(如图
直接上调用的标签 {$CATEGORYS[$catid][image]} 上个实例在 最后将顶级栏目下子栏目循环显示代码贴出来方便大家学习: {if $top_parentid} {pc:content
PHPCMS默认仅支持栏目点击排行榜,在V9版本中,也可以通过数据库来调用全站点击排行。...如果 start = 1,则子字符串从表达式的第一个字符开始。 以下是PHPCMSV9版本之前的全站点击排行的方法,有兴趣的朋友可以看看。...*,t.* from phpcms_content p,phpcms_content_count t where p.contentid=t.contentid and p.status=99 and...*,t.* from phpcms_content p,phpcms_content_count t where p.contentid=t.contentid and p.status=99 and...*,t.* from phpcms_content p,phpcms_content_count t where p.contentid=t.contentid and p.status=99 and
今天修改一位客户的phpcms网站,他要求添加https,这对ytkah来说是轻车熟路了,但是后台稍微有点问题,点击分页出现错误,将鼠标移到下一页显示的链接是https://www.abc.com/...menuid=822&catid=37&pc_hash=GsxXx8&page=2,很明显是多了一个www.abc.com,这个应该是配置文件中https没有设置,那我们就找找,通过关键词我们定位到文件是在/phpcms...str_replace(array('https://','//','~'), array('~','/','https://'), $url); 保存,上传,刷新一下后台,再点击一下分页,已经是正确的了...有些朋友可能反应phpcms后台站点域名配置https无法提交,可以参考这篇文章phpcms站点域名配置https无法提交如何处理
phpcms由于不支持fsockopen无法安装 方法一(推荐):安装的时候,在地址栏直接改step=3,跳过这一步即可安装成功。...1 : 0; fsockopen替换为pfsockopen 如果你需要邮件功能的话,就需要修改管理会员邮件的文件。...修改服务器上的phpcms/modules/member/classes/client.class.php这个文件,将第361行的fsockopen改成pfsockopen 不支持fsockopen和pfsockopen...$port, $errno, $errstr, $timeout); 这样就可以解决fsockopen pfsockopen两个函数禁用的问题 参考fsockopen函数被禁用的解决方案
领取专属 10元无门槛券
手把手带您无忧上云