首先,恭喜自己成功将网站部署起来。从开始编写到成功部署一共经过了 14 天左右,期间也经历过玄学BUG、数据库错误、php响应结果不对等一些令人头大问题,不过好在都顺利解决了。
既然成功部署了,那就总结一下我在开始设计到成功部署的经历吧:
首当其冲,肯定是页面设计的问题。难就难在要决定整个页面的布局、操作逻辑,如果布局不合适,就无法让第一次进入的访客快速知晓每个区域是用来干什么的。操作逻辑如果设置不当,容易让网页操作起来不顺手,带来差劲的浏览体验。不过我一个倾向后端的人,能设计出来就不错了q-q
然后就是颜色搭配,颜色搭配其实就根据自己的风格就好了,但是!一定要注意不能使用绝对浓的颜色,即RGB任意一项不要直接设置 255,不然容易导致视觉疲劳。长时间展示的颜色稍微降低一下鲜艳度也可以缓解视觉疲劳,适合的时候降低一下明亮度可以让对应区域看起来不刺眼,提升观看质量。
最后就是动画,想我这种菜鸟的话就最多做一下基本滚动和淡出淡入的效果,不过哪怕是这些简单的动画也有讲究:动画的时长要适合,基本的示意动画最多 100ms 就要完成,特效类不得超过 200ms。过长的动画会导致观感差,给人一种累赘感。过短的动画则太紧张,让人产生不适。动画的前后对比也要对应出现,否则看起来很假。
关于设计大概也就这些,需要自己不断地调试和感受才可以做出近似完美的作品。
关于动态请求,其实也没有什么复杂的,也就是从数据库拉取数据然后回应客户端。重点是要怎么防止"客户端"把你家抄了,也就是所谓的渗透。一个没处理好直接越权访问服务器,一旦被拿到 Shell 直接GG。不过好在PHP还是很容易反渗透的,只需要识别传入的数据是否包含 MySQL 的特殊字符,基本就不太可能被渗透。(客人进入了酒吧,点了一杯啤酒'|;DROP DATABASE 酒吧;)
其次就是 apache2 网页服务器的默认配置一定要改掉,特别是访问不到 index 就进行目录遍历。这种设置绝对不能允许!暴露目录结构和脱掉衣服给别人仔细看差不多,非常危险!有需要的情况下还需要设置一些目录禁止访问。apache2的设置重点就这些。
重头戏来了,就是那个该死的数据库配设。
我用的是 Ubuntu 搭载 PHP+MySQL 后端,本地已经调试好了,结果上云才出问题,搞来搞去就是初始工作没做好(登陆系统账号设置数据库--调整配设文件保证任意IP都可以访问),全部配设完,一切都工作正常。
最最重要的就是,数据库的权限设置!如果权限设置正确无误,那么即使被渗透了,也不可能做到入侵删库或者拿到 Shell。像动态访问这一类就必须小心谨慎,每个程序员都不可能保证自己的代码完美无缺没有漏洞。分配有限的权限就非常重要,就像我只指定一个特别的账号用于处理动态请求,然后限制只能访问blog的数据库,且除了特定的表以外只能读取和插入数据,不能删除或 DROP。做好了这些工作,服务器明显的漏洞基本都堵住了。
虽然过程挺幸苦,不过还是挺有意思的,至少学了不少东西。
用 Cookie 保存: 别名、Email