thinkphp框架设计用户权限

thinkphp有几个常量在设计权限系统的时候,可能会用到,MODULE_NAME和ACTION_NAME,怎么翻译成可理解的中文呢?模块和行为?更好理解的说法是类和成员函数,thinkphp的每个链接都会对应某个类的某个成员函数,这两个常量就是类名(前缀)和函数名,比如有:

继续阅读“thinkphp框架设计用户权限”

推荐一个不错的php图形类pChart

基本上常用的图形都有了,出来的图片也还不错。不过拿来用,还是要改几个地方,主要是修改pchart类的Render方法,其默认是直接生成图片文件,将这个方法最后一行,imagepng函数第二个参数去掉,然后在这个函数前加一句:

header(“Content-type: image/png”);

这样就直接输出图片到浏览器,而不是存为文件了。

其次是中文的支持,因为其使用的默认字体库是tahoma.ttf,这个不支持中文,所以还要找个支持中文的字体,比如simhei.ttf,你的系统下字体目录里肯定有的,直接拷贝到pchart项目目录的Fonts目录里就可以了。

根据其提供的example,改写了几个图形,(thinkphp封装)供参考:

继续阅读“推荐一个不错的php图形类pChart”

从windows系统导mysql库文件到linux系统会遇到的问题

myisam表导入导出,最方便的办法就是直接拷贝库文件,先停数据库服务器,然后打包拷贝。

但是不同系统间的移库还是会有问题,比如从windows移到linux,表面上看数据都很正常,转移成功,但是对表进行写操作,问题就来了,直接报MySQL Table xxx is read only 继续阅读“从windows系统导mysql库文件到linux系统会遇到的问题”

服务器攻击之CC攻击检测和防范

CC(Challenge Collapsar)攻击也是DDos(分布式拒绝服务)攻击的一种,CC攻击更有针对型,主要针对一些涉及大数据量操作或者执行效率低的动态页面,消耗服务器资源为主,而非带宽,导致cpu使用率爆满,直至服务器假死或宕机。web页面直接的反应是动态页无法响应,或者直接返回50X错误。 继续阅读“服务器攻击之CC攻击检测和防范”

mysql触发器

最近遇到一个问题,修改一个表数据时,报The user specified as a definer (‘xxx’@’xxx’) does not exist ,查了一下,可能是xxx用户建了触发器,而这个用户现在被删了,查了半天,没有查到修改触发器创建人的语句,直接修改trigger表definer也不行,只好先把那个用户创建的触发器先删除再重建。 继续阅读“mysql触发器”

修改ssh端口号

ssh默认端口是22,修改端口,要修改配置文件,默认是在/etc/ssh/sshd_config,

vi /etc/ssh/sshd_config

很上面有Port 22,先不着急改,直接另起一行,新增一行Port xxxx,新端口号最好不要小于1024,也不要和现有端口重复,比如3306什么的,然后重启ssh,因为是默认的服务,直接用service就可以了service sshd restart,使用新端口登陆看看,如果新端口可以登陆,再把22的端口注释掉,然后再重启。