自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

pgsql ident鉴权方式实现无密码登录,无需.pgpass

PostgreSQL 命令行 psql,pg_dump等不支持口令参数,也就无法像mysql那样无需人工干预(输入口令)执行备份、恢复数据库的命令。 网上搜索有多种解决办法,比如通过设置PostgreSQL的环境变量参数来实现保存密码,或者通过Expect 来实现自动交互,帮助输入密码,或者用.pgpass 来保存密码。 参考链接 http://bbs.chinaunix.net/thre...

2012-05-24 18:48:03 415

Discuz 7.2坑爹集锦-SQL篇 -update 2012.02.09

Discuz 7.2坑爹集锦-SQL篇  DZ使用的是MySQL的MyISAM引擎,特点是简单快速,非常适合网络扁平数据。当数据量超过一定规模(大概300万),数据关联复杂(表连接增多)后性能急剧下降。并且在高读写并发时锁表严重(MyISAM是表锁,InnoDB有行锁),甚至导致表损坏。DZ7.2代码中SQL写法存在不标准的问题,虽然不影响执行但对维护迁移是个问题。对数据类型检查也...

2012-01-28 20:54:22 307

原创 SPS Discuz7.2 超强给力修改版

SPS Discuz7.2 超强给力修改版   Discuz目前最新版为DZ X2,但功能繁多程序臃肿,如果仅是搭建一个论坛那么使用DZ7.2是较好的选择。故基于康盛官方UCenter1.6和Discuz! 7.2最新版本程序进行修改有此SPS版。原版本使用MySQL MyISAM引擎,在数据量达到一定规模后当网站流量较大,高读写并发时数据库将会出现严重锁表导致数据...

2012-01-28 20:36:15 251

Discuz 7.2坑爹集锦-js篇

Discuz 7.2坑爹集锦-js篇在调试DZ过程中firebug经常提示common.js出错,什么“Error: s is null”,“$ is not defined”,“BROWSER not defined”。其实多半和XML有关:当ajax操作时后台PHP出现错误(包括notice)导致前台JS在解析期望中XML格式返回值时出错。也许是DZ的ajax调用对返回值处理不够完善。解决...

2012-01-28 20:30:24 172

Discuz 7.2坑爹集锦-PHP篇 -update 20120525

Discuz 7.2坑爹集锦-PHP篇ucc代表uc_client目录ucs代表uc_server目录类型:        代码风格 坑爹指数:     ☆点评:        DZ代码不错,不过其代码风格对于维护来说比较痛苦。本来应该尽量避免在判断中赋值表达式避免习惯之后本意的逻辑比较操作误写成赋值操作符而加大debug困难,而DZ恰恰相反不喜欢使用中间变量往往是变量赋值...

2012-01-12 17:32:34 402

Discuz 7.2坑爹集锦

Discuz是强大的论坛系统(以下简称DZ)使用广泛。目前Dz最新版本是 X2(20111221),虽然DZ 7.2版本比较老,中间尚有DZ X1,X1.5,但是使用7.2版本的网站还不少。并且7.2是论坛程序,而X系列添加了许多功能已经不限于论坛发帖而是扩展到社区社交功能的一个所谓云平台。功能丰富带来的是代码的庞大以及维护的困难。如果仅仅是建立一个普通论坛不需要过多花哨功能以及因此带来的性能下降...

2012-01-12 17:16:00 141

由拖库攻击谈Discuz口令字段的加密策略

先转一篇文章:安全崩盘的年代:由拖库攻击谈口令字段的加密策略http://www.leiphone.com/no-safe.html 节选 写道编者按:本文作者肖新光,网络ID江海客,安天实验室首席技术架构师,研究方向为反病毒和计算机犯罪取证等。如果有读者想要就安全问题和作者探讨,可以在微博@江海客。我不得不惨痛地写在前面的是,这是一个安全崩盘的时代。过去一...

2011-12-31 14:39:43 218

使用amavisd-new做DKIM签名验证失败解决

邮件服务器使用amavisd-new来签署DKIM,发现发往gmail的邮件DKIM验证失败 Authentication-Results: mx.google.com; spf=pass (google.com: domain of mark@myhost.com designates 61.128.xxx.xxx as permitted sender) smtp.mail=mark@...

2011-11-24 21:46:14 1041

原创 让 Discuz7.2在bbcode off下也解析 ‘最后编辑’标签

DZ在编辑帖子之后会在帖子内容之前附加上字符串 [i=s]本帖最后由 waiting 于 2011-11-3 17:10 编辑[/i]  当浏览帖子时如果 bbcodeoff == false则解析为如下的HTML代码: <i class="pstatus">本帖最后由 waiting 于 2011-11-3 17:10 编辑</i>  不过...

2011-11-03 17:39:33 320

navicat 对postgresql GIN索引支持问题

如果表带有GIN索引则,Navicat Lite v9.1.10, dump出的文件中此索引并未显示为GIN类型(那么在导入时将会默认为BTREE类型)。即使用navicat直接查看DDL也是如此,不过实际查询不会有问题。 navicat v9.1.10算很新的版本,而“古老”的EMS SQL Manager 2007 for postgresql v4.4就不存在此问题,查看DDL时明显...

2011-10-28 19:49:32 233

dovecot sieve 遇上转发的邮件自动回复无效的解决

现象: 当邮件是经过转发收到的则sieve的vacation自动回复功能失效,比如在mark@d1.com上做了转发,凡是发往这个地址的邮件都转发到mark@domain.tld上。 dovecot lda日志: lda(mark@domain.tld): Info: sieve: msgid=<131954....@web92414.mail.cnh.yahoo.com&g...

2011-10-25 20:13:24 342

Discuz,IE8,用户投票时,common.js报错

http://www.discuz.net/thread-2460628-1-2.html 问题多半是后台程序错误导致AJAX返回了非正常XML值(有可能返回的是出错信息),结果导致前台js解析Ajax值时失败出错。没来得及仔细研究common.js,不知道为啥DZ要用XML而不是JSON,前者明显后后者复杂而且浪费带宽。...

2011-10-23 22:33:26 73

cgi.fix_pathinfo=1时终极解决Nginx文件类型错误解析漏洞的方法

关于漏洞原理参见 nginx文件类型错误解析漏洞 ,最开始是直接把php.ini中设置 cgi.fix_pathinfo = 0想一劳永逸解决。不过后来发现其导致PHP的超全局变量 $_SERVER['PHP_SELF']为空于是有些程序会出错(比如Discuz会拼接出错误图片头像路径)。于是考虑在保持 cgi.fix_pathinfo =1时如何避免漏洞。网上搜索到的解决办法挺多比如 再...

2011-10-19 19:59:58 494

Discuz 使用动态头像与静态头像方式比较

Discuz后台可以设置会员头像是动态还是静态。动态头像的请求类似 http://xiaozhong.biz/ucs/avatar.php?uid=3&size=middle 由avatar.php文件处理在响应头内给出文件实际地址,比如 Locationhttp://xiaozhong.biz/ucs/images/noavatar_middle.gif, 静态头像的请求则是直接...

2011-10-12 19:16:39 1388

nginx Linux启动脚本

nginx启动脚本,CentOS运行测试通过 解压文件到 /etc/init.d/ 目录下,运行以下命令安装nginx服务 # chkconfig --add nginx# chkconfig nginx on 然后就可以两种方式来管理nginx服务 # /etc/init.d/nginx start|stop|reload|restart或者 # ...

2011-10-07 18:31:40 79

PHP PDO prepare/execute 对拼接字段的问题

修改DZ使用pgsql,数据库日志里面一个错误:  错误: 无效的整数类型输入语法: "192.168.0.5"语句: SELECT s.sid, s.styleid, ... FROM sessions s, members m WHERE m.uid=s.uid AND s.sid='A3RO' AND (s.ip1 || '.' || s.ip2 ||...

2011-09-06 12:13:26 294

pgsql 对于 IN() 条件的给力支持

因为pgsql的查询规划器可以智能地分解条件,比如 SELECT * FROM tk WHERE tk.id = 1 OR tk.id = 2规划器可以智能地分解成两条针对有索引的id字段的查询,然后作UNION。 那IN的情况如何呢? SELECT * FROM tk WHERE tk.id IN (1,2,3) explain 结果居然不是想象中的分解而是使...

2011-08-28 17:07:04 5418

CentOS5.5上编译安装 PHP 5.3.6

CentOS 5.6一直没发布,CentOS 5.5的PHP5.1.6不支持json/hash,因为正研究Postfix+Dovecot邮件系统,webmail采用的 RoundCube  新版本(v0.5)要求PHP版本不小于5.2.1,于是决定编译安装最新版PHP。PHP前几天被入侵据说v5.3.6代码被污染,不过用来做研究测试应该没问题。 先卸载本机已经安装的PHP包,这些软件...

2011-04-06 19:11:38 212

原创 没有事业的女孩子很惨

没有事业的女孩子很惨转自 豆瓣 女性意识与女性的成长小组今天行政又推荐了一个素质不错的刘小姐,到我办公室面试。我扫了一眼她的简历,就看透她了,不过还是让她叙述了一下:她一直做售楼员,4年换了3个项目,中间休息了一年,现年28岁,来到我们公司,希望继续在项目上干接待客户的工作。 我们公司招聘的人员,归纳起来有三类:一类是物业顾问,是所谓行销的;一类是项目销售,是坐销的;第三类是行...

2011-03-01 23:06:06 92

原创 关于穿越的笑话

收集的关于穿越的笑话 1.无敌丑宅女一梦醒来,发现自己置身红罗帐内,一个英武伟岸的男子正站立龙床前。她偷眼朝铜镜瞄了一眼,只见自己国色天香,身材性感。整理心情,发现自己记得无数诗词歌赋。正踌躇满志打算扰乱后宫之时,内监慌来报:“禁军哗变,杨国忠已被杀了!”2.某男穿越到古代,觉得自己身上隐然有霸王之气,沛然莫名,正得意间,睁开眼睛,忽然发觉面前盘中一堆大粪。旁边使臣笑道:“先生觉得大王...

2011-01-23 01:15:33 173

jQuery 1.43 新特性

jQuery 1.43 新增 type 方法用于检测对象类型: http://api.jquery.com/jQuery.type/jQuery.type(true) === "boolean"jQuery.type(3) === "number"jQuery.type("test") === "string"jQuery.type(function(){}) === "...

2010-12-17 17:18:35 72

PostgreSql 部分索引导致ORDER BY扫全表

pgsql挺好玩的,可以创建部分索引  部分索引 是建立在一个表的子集上的索引;该子集是由一个条件表达式定义的(叫做部分索引的谓词 )。该索引只包含表中那些满足这个谓词的行。部分索引是一个特殊的特性,但是在某些场合很有用。部分索引的主要动机是为了避免对普通数值(大量重复的数值)建立索引。因为在普通数值上的查询就算使用索引也没什么好处,那么还不如从索引中剔除这些大量重复的行。这样可以...

2010-12-09 12:24:32 606

PostgreSQL tips

PHP PDO获取lastInsertIdPHP手册对于PDO::lastInsertId 函数的注解是 string PDO::lastInsertId ([ string $name = NULL ] )Returns the ID of the last inserted row, or the last value from a sequence object, de...

2010-11-07 17:23:46 176

pgsql 分区试验及创建规则失误导致创建触发器异常

鉴于mySQL前途不明决定转向PostgreSQL。初步了解pgsql后发现其相当的强大,于是考虑把一个小项目迁移到pgsql上。对其中日志表想玩玩pgsql的分区,最开始是参考pgsql手册以规则(RULE)的方式来实现每一年一个日志表 -- 禁止更新主表CREATE RULE no_insert_on_tb_log AS ON INSERT TO tb_log DO IN...

2010-11-06 17:40:43 305

ajaxRelogin: Ajax请求时掉线的判断及提示用户重新登录处理 2010.11.14更新

项目中频繁使用jQuery.ajax来获取、刷新数据。问题在于如果用户登录超时或者重置了口令被强行踢出之后如果不刷新页面而是继续发起ajax请求(比如点击jqGrid的刷新按钮或者翻页按钮),那么jqGrid将显示空数据但用户并不能判断是0数据还是已经掉线而导致的空数据,甚至可能会导致用户频繁点击刷新按钮。 于是写了个js函数通过截获jQuery.ajax全局事件方式来判断重新登录标示, ...

2010-11-02 18:55:44 225

PHP JSON字符串赋值给JS变量的编码处理·更新最简单办法

B/S项目中PHP要实现如此功能:获得数据集json_encode为json字符串然后赋值给HTML页面中JS变量,再用parseJSON函数转换为JS对象供动态生成select下拉菜单条目。开始是这样实现的:前后台数据库全部采用UTF-8编码 <?php // 从数据库获得, 数值在入库前经过 htmlspecialchars($str) 编码过$arr = array...

2010-10-27 19:49:36 558

LinkageSel:javascript 无限级联动下拉菜单 省市地多级联动多属性值下拉菜单 2014.10.04更新...

[b]javascript 无限级联动多属性值下拉菜单[/b]无限级联动,支持Ajax动态获取数据并缓存数据,动态生成下级select菜单,设置动态生成"option"第一个条目作为提示项,自动选择唯一选项的菜单,设置回调函数在onChange事件触发时获取下拉菜单相关信息。[url=https://github.com/waitingsong/LinkageS...

2010-08-11 19:42:02 366

jQuery Combobox 扩展 (select+autocomplete)20110730更新

jQuery UI虽然比不上extJS的UI,但也在慢慢发展完善。http://jqueryui.com/demos/autocomplete/#combobox  这个combobox扩展挺不错的,可以让下拉菜单具有字符自动完成过滤功能。 不过因为并非官方扩展所以存在一些问题,比如不支持参数设置;IE不支持combox的change事件 并且change会有滞后性,用于表单当通过按钮...

2010-07-16 17:53:08 218

rsync 简明教程

项目中需要用到 rsync 进行文档同步备份。看了下网上教程弄好了,不过觉得网上教程条理不清晰容易让初学者看得云里雾里,这里写个简明教程让人立马可以上手使用。 rsync 简介:用于服务器同步目录及文档,功能相当强大上。不过它是把一个文档划分成多个块进行扫描对比,所以可以进行差异同步,效率高速度也快。并且备份文档能保留源文档的权限、属主、属组、时间等属性。其工作方式分为命...

2010-04-13 21:08:10 205

MySql 用户区分本地及远程模式

今天重装一服务器,发现新添加的mysql账户无法登录。研究后发现通过 grant 新建的账户区分本地口令及远程口令。系统环境:CentOS 5.4, MySql 5.0.77  grant all on *.* to t1@localhost identified by 'abc'; grant all on *.* to t1@'%' identified by 'abc';...

2010-03-22 18:00:06 299

原创 JavaScript jQuery tips

JS常用信息: IE错误提示“缺少标识符、字符串或数字”,检查JS文件中对象字面量是否最后包含逗号。比如var obj = {id: 1, name: 'test',}; 紧接'test'后那个逗号就会导致IE出错。而FireFox正常。jQuery操作下拉菜单选定某个项目功能在IE中似乎无效。兼容办法:document.getElementById( id ).selecte...

2010-03-02 19:42:36 137

原创 PHP UTF-8 等宽度截取中英文字符

网站需要截取等宽新闻标题,对于GB编码的截取函数网上很多,没找到有适合UTF-8编码的。 考虑到UTF-8是1-4字节变长编码,虽然中文都是3字节,为了以后方便决定自己写个。截取的变量是宽度width而不是长度length。不同中英文(包括数字)字型搭会有不同显示效果,在不同显示器上相同字型也可能会有不同效果。 需要根据实际修改 x3变量的值,x3越大则3字节编码(如中文)字符就取得越少。...

2010-01-28 11:17:18 209

原创 MDB2->quote 对空字符串处理为NULL导致写数据失败

global $mdb2;$v = '';$r = $mdb2->quote($v, 'text', true);var_dump($r);结果是 string(4) "NULL"而数据库字段是 varchar(50) NOT NULL default '' ,于是乎insert into 失败。prepare() 函数同样的处理。没找到有参数可设置,于是只...

2009-12-11 19:15:05 126

MySQL COMPACT栏格式导致输出乱码

CentOS 5.2, PHP 5.1.6, MYSQL 5.0.77. 数据库UTF8,表MYISAM引擎,采用PEAR::MDB2访问。读取出的中文会有乱码尾巴。使用EMS/navicat查看数据都正常。折腾半天最后发现应该和表的Row format格式有关:如果使用COMPACT格式则会出现记录输出时中文文字后面跟着乱码。即使把格式改成Dynamic已有的记录在输出时还是有乱码,估计是这...

2009-12-03 18:37:00 225

原创 jqGrid 简体中文包 for v3.6+

jqGrid 3.6 发布几天了,在一个新项目中使用此版本。新版配合jquery.UI,样式效果还不错就是文件大了些:jqGrid.js 差不多193K, jquery-ui-1.7.2.custom.min.js 182K。如果不使用jquery.UI样式那么可以用jqModal.js 和 jqDnR.js 来实现模态窗口及DnR拖动功能,从而无需加载182K的文件。这两个文件来自 [url]h...

2009-11-19 16:12:17 112

使用PEAR::MDB2连接两个数据库错乱

今天修改29dy项目,其主页面信息取自两个数据库。使用PEAR:MDB2扩展作为数据库连接,分别为$mdb2,$mdb_sub。修改后发现取出的数据根据数据库不同而乱码,具体说就是排在后面的sql查询语句会乱码,甚至有时候会有数据库连接提示找不到table。打开数据库debug一看,才发现当查询完db1之后接着查询的db2使用的database名称并不是db2而是db1! 解决办法:...

2009-10-16 17:34:48 147

mysql字符集之ems,navicat,PEAR::MDB2相关

关于mysql字符乱码早就有标准的解决办法,数据库使用UTF8编码,页面也使用UTF8编码,然后服务器端先作一次 'SET NAMES UTF8' 的查询就万事大吉。这次做一个项目对相关问题又有了深入一点的了解。系统为 Centos4.7,PHP 4.3.9, MYSQL 4.1 一、关于mysql数据库编码设定有两种常见办法建立数据时采用默认的Latin1编码,然后配置全部采用...

2009-10-05 21:04:31 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除