标有 (*) 的检查项目表示该项是针对相关问题的根本解决方法,应当尽最大努力去完成这些内容。 未标 (*) 的项目,表示该项并不能完全消除安全隐患,只是说通过这种方法可以避免发生安全问题。
- SQL注射
- (*) 在组合SQL语句时要使用SQL变量绑定功能
- (*) 如果数据库不提供变量绑定,那么需要对构成SQL的所有变量进行转义
- 不要将错误信息原封不动地显示在浏览器中。
- 为访问数据库的用户设置适当的权限。
- 操作系统命令行注射
- (*) 避免使用能启动shell命令的语言
- 使用的语言如果允许启动shell命令,则需要对该功能的参数种的所有变量进行检查,确保只包含合法的操作
WordPress 默认的标题为‘博客名 - 文章名’,对搜索引擎面言并不友好,特别是当文章标题和博客名称比较长的时候,在搜索引擎结果中连标题都显示不完整,而且把文章名放在后面,不能很好地体现出标题中的关键字。我比较推荐这样的方式:
主页显示博客名,自定义页面、分类页、存档页显示各自的标题,内容页显示自己的标题。也就是只在主页显示博客名。一般用户要么直接搜索你的博客名称,这时搜索引擎自然会把你的主页显示在前面,自定义页面的名称是你自己设置的,可以很好地把握关键字,存档页、分类页的标题意义不大,内容页是比较重要的网站内容,一般我们搜索时会直接搜索‘***解决办法’之类的词汇,并不会连你的博客名一起搜索,这时,把博客名放在标题栏上有点‘多余’。
当然,也不是绝对的,比如一般企业网站就可以用:‘文章标题 - 网站名’来处理,比如:联系方式页的显示标题为‘联系方式 - 大众电脑’,客户一般会通过搜索‘大众电脑的联系方式’这样的关键词。
刚刚接触 WordPress 的时候就发现,除了发文章会使用 posts 表的 ID 外,上传图片、增加新的页面都会占用 ID,这样使得我们的文章 ID 变得很不连续,另外还有一个令个人博客感到烦恼的是 WordPress 的文章修订记录,它不但会占用 posts 表的 ID ,在我们发布文章之后它基本上就没有什么用处了。特别是在编辑一些技术性文章时经常会反复编辑很多次,而每一次修订 WordPress 都为我们保存在 posts 表里,不光是文章,就是自定页页面也是如此。对于团队博客来讲是不错的功能,对我而言,不但占用我的数据库空间,还影响我的 ID 连续,如果用文章 ID 来做永久链接,将惨不忍睹。
禁用 WordPress 文章修订功能的方法也有几种。
WordPress 单引号问题困扰了我很久,即无论在什么语言版本的 WordPress 中'(英文半角引号)总是显示成'(中文全角单引号),英文的三个句号(...)都会被转换为中文的半个省略号(…),双引号也有同样的问题,中文的一对双引号(“”)在 WordPress 中显示出来是(““)。
在用英文写 BLOG 或博文中有代码片断的时候,不但影响显示美观,复制下来的代码基本无法直接使用。原因据说是因为 WordPress 为了避免某些字符在 MySQL 中二义性而改用全角显示和储存这种字符。解决方法如下:
修改源文件:wp-includes/formatting.php
找到以下代码并注释掉: