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. Java-JsonUtil工具类

    import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; i ...

  2. Linux 常用命令备忘

    安装wget 方便联网下载:  centos : sudo yum -y install wget 安装vim   :  yum -y install vim* set nu              ...

  3. Codeforces Round #449 [ C/A. Nephren gives a riddle ] [ D/B. Ithea Plays With Chtholly ]

    PROBLEM C/A. Nephren gives a riddle 题 http://codeforces.com/contest/896/problem/A codeforces 896a 89 ...

  4. JavaScript中undefined和not defined 的区别

    参考:某个大佬的博客 以下原创: <script type="text/javascript"> console.log(a); a = 100; </scrip ...

  5. codeforces666A

    Reberland Linguistics CodeForces - 666A First-rate specialists graduate from Berland State Institute ...

  6. HDU 5884 Sort ——(K叉哈夫曼树)

    这题真心比较奥义,先见这个人的博客:http://blog.csdn.net/libin66/article/details/52565484 补0的方法是使得其满足成为满K叉树,而其博客中所说的“所 ...

  7. 记一次期待已久的渗透 从phpcms到thinkphp

    0X01 前言 这是刚刚开始学习渗透的一个目标吧 这个站从刚开始学的那一天起,就想把他日下来. 可能是自己的信息收集能力太差了吧,导致一直无从下手 没有进展.这是需要慢慢积累的过程.还需努力学习. 0 ...

  8. 动态生成html文件

    #include"stdio.h" main() { FILE *a; int x1,x2,N1=99,N2=60; char FileName[100]; for(x1=10;x ...

  9. SQL复杂查询语句-SELECT * FROM cs WHERE score>70 GROUP BY s_id HAVING COUNT(*)>1

    如果同时存在where,group by,的时候的执行顺序应该是这样的: 1,首先where后面添加条件把数据进行了过滤,返回一个结果集 2,然后group by将上面返回的结果集进行分组,返回一个结 ...

  10. SRS之HLS部署实例源码分析

    1. 综述 SRS 关于 HLS 的具体配置可见: HLS部署实例 SRS 关于 hls 的配置文件内容如下: listen 1935; max_connections 1000; daemon of ...