从有了计算机发展到今天,人类世界被代码完全改造,没有代码就没有如今的五彩斑斓的社会。对为代码的创造而努力的前辈们,我们应该心怀敬意。
接触过代码的都知道,代码需要数据库的支持可以更好的发挥能量。经过数代人的努力,代码机制的完善达到了无人能打破的瓶颈。我对代码的理解并不深刻,也没高深的码码功底,但本着自己对现有的代码的分析,大胆提出无数据库全脚本触发器设想。不是对前辈们创造的代码的质疑,只是我个人对代码的一个愿景。
数据库的出现,给了代码一个近乎完美的缓冲,我们可以借助代码写入我们想要存储的数据到数据库里。数据库在代码里演绎着无与伦比的重要性,也因此,更多的网络安全破坏都是从数据库开始。无论哪种类型的数据库,都需要语句指令来触发数据库的功能,所以语句指令成为了最大的安全隐患!而这数据库的漏洞只能靠补丁和代码的完善,这样的因数下,对代码的要求节节攀升,令很多做软件或者网站的创始人更大的压力。早在6年前,我就思考过,如果要抛弃数据库,那会怎样?6年来,我做过若干代码测试,发现没有数据库也是可行的。
了解代码的都知道,现有的网站账户登入管理机制都是采用cookie和session双验证,或许还有其他我不清楚的方式。该两机制都是读取数据库用户数据表存入请求访问的用户使用的计算机本地浏览器中,既然这样,为何我们不另辟蹊径直接用代码赋值存入验证机制?当然,这早在四年前就有人实现了,我没记错的话,第一次被发现的时候居然是网页木马后门,不记得这具有登入验证的网页木马后门的原创作者是哪位代码前辈,但无疑他的这种方式验证了我的设想的可行性。我也知道,抛去数据库,无疑是一次代码革命!但这设想经过几年在我脑海里盘旋,越发的肯定,代码的魅力和潜力是无限的,没有数据库的代码会比有数据库更加的优秀,至少在安全上不再有数据库语句指令的漏洞带来的代码威胁,至少可以更加的精简代码,使得运行更流畅也更方便查阅。。抛去了数据库也给硬件减少了压力。相信很多人都知道netbox的存在,而netbox的官方网站就是用netbox搭建的,他的官网从未被串改过,也有很多能人做过测试,都以失败告终!并不是服务器多好,netbox的服务器还不如上网本呢,可就这样,代码上确实防御无敌!明眼人都看的出,该网站是纯静态的。是啊,静态没有数据库语句,没有可执行命令,所以不再有被利用的机会,甚至一些网络安全破坏方式比如cc攻击都对静态代码无效!
静态是最古老的也是web缔造伊始就出现的,经过若干年,还依然彰显着它独特的魅力。从asp、jsp、perl、dll、php、aspx、do等脚本动态脚本的出现,静态html曾一度度淡出代码的舞台。还记得我第一次接触代码,就是asp,那时候正式asp的舞台,网站源码如孔雀开屏一般百家争鸣。然后就是php相继出现了更高层次的姿态。随着动态脚本代码的发展,也给代码的编造者带来了更严峻的考验,代码的漏洞始终是动态脚本的一块硬伤!这样的坏境下,更是有杰出者想出了分离的方法,把网站进行前后台分离,虽然是一度更深层的隐藏了漏洞的存在,可存在的还是始终存在,终究还是会被找到。后来更有甚者,直接有静态代替动态前台,响应访问用户的访问请求,固然让破坏源无法攻击可访问的前台,难道就不能找后台路径?只要是存在的,终究会被找到!而如今众多的网络安全破坏中,无疑是给我们敲响了警钟,除非我们删除动态脚本,否则都有被攻击破坏的可能!
这么多年,我发现一个很奇怪的地方,就是静态完全可以抵御来自脚本的攻击。相信不只我一个人在静态脚本上做文章,早五年前,就曾听一国外有人提过她的关于CDN和WAF的设想,她想把动态做静态缓存,被访问时请求得到的是缓存中的静态内容,而WAF可以通过URL重写,当遇到攻击时,被攻击的URL会自动跳转到静态页面,以此防御。这样的技术早就浮出市面,并投入了广泛的应用。可缔造者却不是她。
多年的积累,更加的充实了我的设想,而现有的代码都是依赖于数据库。在一个月前,我就开始了大量的代码测试,终于缔造出一套全新领域的无数据库网站源码,当然不是说我开发的这套代码设计的界面多么美观,我想说,我这套网站代码抛弃了任何类型的数据库。
无数据库全脚本触发器设想