CMS(内容管理系统)放在web中理解,也就是我们常说的后台了,用于网站的日常管理。又到期末了,我们的课程——web程序设计,需要提交一份期末大作业,最近需要开发出一个基于JSP的简单web,所以呢,就又想起了初做web开发时的往事。因此特来写一篇关于我和CMS从结识到熟悉熟悉的往事。

最初接触网站后台应该是在17年下半年了,当时跟着学长的一个团队做web开发,最初的打算是开发静态的web,当时我也是刚学完html,所以抱着学习的态度,就接下来这个开发的任务。 那个时候是一边学习js,一边做开发。学js的时候,就发现可以通过js来改变页面的内容,于是我天真的想到了,能不能写一个甚至多个不告诉用户的html页面,通过js来改变程序的内容呢?当时哪里知道CMS这种东西早已经被人发明出来了。我还傻傻的去尝试了,发现不行,为什么呢,因为通过js改变的内容只是改变了当前用户浏览器请求过的html页面中的内容,它只是运行在用户浏览器中的页面而已,而且即使改变了当前页面,也无法改变已经请求过的其它页面。后来已经忘记了是怎么知道的前后端程序的区别的了,可能是通过查阅资料吧。那后来知道了前端是运行在浏览器中的,后端程序是运行在服务器端的,所以就开始学了后端语言PHP(现在已经记不清为什么要学习PHP了,我心里有几种可能的原因,这里就不赘述了)。我是在看网上PHP教程的时候发现,教程中在做的东西和我的想法一样(教程就是在做我现在知道的一个叫做后台的东西),当时我真的很惊喜,因为发现自己的想法是可行的,而且很久以前就已经被人所熟悉并使用了。

再往后来的话,就是学PHP,搭个框架,去开发后台页面,也用上数据库去存取数据,一边还在做着前台用户界面及后端程序的开发。那个时候还没有开始写用户注册、登录的功能,因为在项目中没有这个需求,只要求为用户展示就行了(或者说当时开发需求不那么清晰吧),也不知道cookie、session这种东西的存在。做着做着发现了一件有意思的事情^_^,因为我对安全感兴趣,所以我就想了,那如果别人的网站后台偶然的被别人发现了, 那敏感信息不就泄露了吗?这还得了!!!所以就把疑问在网上查了,于是就知道了,通过管理员登录这个功能去做基础的权限把控。于是我就做了个后台首页,把登录功能用上,这样我就给自己的后台加上了个门,你要想进入我的后台,那你就需要知道管理员账号和密码。当然,我也把后台框架做了权限控制,只有登录用户才可以查看内容的。那时根本都不清楚include进来的控制权限的php页面到底作用域有多大,就以为是整个后台都作用到了,也没想这么多。

一个对安全感兴趣的程序员当然会在开发中时刻思考安全问题(至少在当时我把自己所有能想到的可能会出现漏洞的地方都想到了O(∩_∩)O哈哈~),我就发现了,别人会不会不通过我的后台框架去访问我的后台页面,而是直接在URL地址中输入后台页面的绝对路径?那去尝试下,这样我就发现了,在未登录状态下,可以通过直接访问后台页面的方法去访问后台,那这样就好比我房间的门我锁上了,但是我给小偷留了很多窗户,而且还是敞开的窗户!!!解决办法自然是给所有后台页面都include权限控制的php程序。

就这样,后来,我和我自己开发的后台的故事也就基本了解了。随着开发的深入,学习的东西也越来越多,后台自然而然的就很顺利的开发完了。再往后来的话,web开发的任务就完成了,我也离开了项目区搞安全了。搞渗透的时候我才发现,嗯哼?别人有开发好的CMS,而且还是免费的,有这种事!都可以直接通过这种CMS直接搭建一个web了,这是我才知道,原来一点开发不懂也是可以搭建自己的网站是真的可以实现的啊!就算开发,也可以根据别人开发好的CMS进行二次开发自己的web。 这样自己之前费那么大力气开发后台岂不是浪费时间,自己做的还不够安全,这时候真有种觉得自己很渺小的感觉,觉得这个世界上有太多自己不知道的东西了……当然自己当初的辛苦也不会白费,因为它让我成长了,成长总归都是一步一步来的嘛,没有之前,就不会现在的自己,就好像没有现在的自己就不会有将来更加优秀的自己。

我和CMS的往事的更多相关文章

  1. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  2. Kooboo CMS技术文档之五:站点配置管理

    站点关系 管理站点间的关系,站点可以有子站点,子站点继承父站点的部分配置数据,同时子站点还可以根据需要,本地化由父站点继承而来的数据.通过继承和本地化,可以让子站点在用最小的改动代价,来完成一个与父站 ...

  3. Kooboo CMS技术文档之二:Kooboo CMS的安装步骤

    在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...

  4. Kooboo CMS技术文档之一:Kooboo CMS技术背景

    语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...

  5. Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分

    Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...

  6. Kooboo CMS技术文档之三:切换数据存储方式

    切换数据存储方式包括以下几种: 将文本内容存储在SqlServer.MySQL.MongoDB等数据库中 将站点配置信息存储在数据库中 将后台用户信息存储在数据库中 将会员信息存储在数据库中 将图片. ...

  7. zerojs! 造出最好的 CMS 轮子

    zerojs是一个基于nodejs.angularjs.git的CMS.在它之上可以继续开发出博客.论坛.wiki等类似的内容管理型系统. 拥抱开发者和社区 层次清晰,高度解耦.前后端即使分开也都是完 ...

  8. 一个小型的CMS后台管理平台发布啦~

    由于我不太懂怎么把博客园里我上传的文件共享,所以只好先放到百度网盘里了 数据库和发布的网站都放在这里 http://pan.baidu.com/s/1eQw3DOA 有问题请参考以下链接: http: ...

  9. 织梦cms常用标签

    dedecms简介:织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内知名的PHP开源网站管理系统,也是使用用户较多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是 ...

随机推荐

  1. js 原生ajax请求

    什么是ajax 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject). XMLHttpRequest 用于在后台与服务器交换数据.这意味着可 ...

  2. docker安装redis并允许外网访问

    拉取redis镜像 docker pull redis:3.2 本地新建redis配置文件 redis.conf ,写入以下内容 #允许外网访问bind 0.0.0.0 daemonize NO pr ...

  3. 博弈dp入门 POJ - 1678 HDU - 4597

    本来博弈还没怎么搞懂,又和dp搞上了,哇,这真是冰火两重天,爽哉妙哉. 我自己的理解就是,博弈dp有点像对抗搜索的意思,但并不是对抗搜索,因为它是像博弈一样,大多数以当前的操作者来dp,光想是想不通的 ...

  4. 如何使用PLX提供的官方驱动和SDK发布自己的产品?

    在我的第一篇博文Plx9030通讯卡驱动开发提到,PLX官网提供了丰富的9000系列(9030,9052,9054)芯片的驱动文件(sys)和SDK开发包.我们在发布自己的产品时,简单的话,可以直接用 ...

  5. 7.9模拟赛T1图的遍历(dfs)

    图的遍历(dfs) [题目描述] 对于一个有向图G来说,我们存在一个经典的遍历算法,就是DFS (深度优先搜索遍历).将G以1号点为起点进行DFS后,我们可以 得到G的一棵DFS遍历树T.就此,我们可 ...

  6. Java集合框架之LinkedHashSet

    简述 LinkedHashSet底层使用 LinkedHashMap 来保存所有元素,它继承自 HashSet,其所有的方法操作上又与 HashSet 相同,因此 LinkedHashSet 的实现上 ...

  7. Zabbix 4.0.2试用(七):在Linux主机中安装zabbix agent并添加该主机(yum源安装)

    Zabbix 4.0.2试用(七):在Linux主机中安装zabbix agent并添加主机(yum源安装) 2018年12月20日, 上午6:42 之前介绍的是下载源安装包,编译安装的方式来安装ag ...

  8. RabbitMQ MQTT协议和AMQP协议

    RabbitMQ MQTT协议和AMQP协议 1        序言... 1 1.1     RabbitMq结构... 1 1.2     RabbitMq消息接收... 4 1.3     Ex ...

  9. hive分区表插入一条测试数据

    1.show create table tb_cdr;+-------------------------------------------------------+--+|             ...

  10. OUC_Summer Training_ DIV2_#5

    这是做的最好的一次了一共做了4道题  嘻嘻~ A - Game Outcome Time Limit:2000MS     Memory Limit:262144KB     64bit IO For ...