<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/martinblog" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/martinblog" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 05 Feb 2012 14:51:32 GMT</lastBuildDate><title>马丁博客</title><description>专注lamp的技术博客</description><link>http://www.blags.org</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Tue, 07 Feb 2012 13:47:29 GMT</pubDate><item><title>linux ssh 安全问题</title><link>http://www.blags.org/linux-the-ssh-security-issues/</link><content:encoded>&lt;p&gt;年尾太忙很久都没有分享了。在家过年的时候发现web服务器被别人恶意攻击了，一进去发现sshd进程占用完一个cpu。&lt;/p&gt;
&lt;p&gt;果断杀掉。&lt;/p&gt;
&lt;p&gt;为了安心在家过年决定解决下这个问题。免得在家过年还老是来报警短信。&lt;/p&gt;
&lt;p&gt;方案有如下，一下操作针对&lt;a href=&quot;http://www.blags.org/tags/centos/&quot;title=&quot;centos 系统&quot; &gt;centos&lt;/a&gt;，redhat，其他操作系统请自行查找配置文件所在：&lt;/p&gt;
&lt;p&gt;设置跳板机（一般是选择对外不开放的机器），使用内网进行登录。在受攻击的机器设置只允许指定ip访问。&lt;br /&gt;
&amp;lt;1&amp;gt;.可以在使用&lt;a href=&quot;http://www.blags.org/tags/linux/&quot;target=&quot;_self&quot;title=&quot;linux&quot; &gt;linux&lt;/a&gt;防火墙进行处理。具体方法是 ：&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p702code2'); return false;&quot;&gt;View Code&lt;/a&gt; CONFIG&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p7022&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p702code2&quot;&gt;&lt;pre class=&quot;config&quot; style=&quot;font-family:monospace;&quot;&gt;echo &amp;quot;-A RH-Firewall-1-INPUT -m state --state NEW -s 10.xx.xx.xx -m tcp -p tcp -m multiport --dports xx -j ACCEPT&amp;quot; &amp;gt;&amp;gt; /etc/sysconfig/iptables;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;上处的第一处表示 跳板机内网ip，第二处一般是22，运行完重启下防火墙，不过博主建议修改sshd登录端口，修改方法如下：&lt;br /&gt;
&lt;a href=&quot;http://www.blags.org/tags/vim/&quot;title=&quot;vim&quot; &gt;vim&lt;/a&gt; /etc/ssh/ssh_config 修改成自己想要的端口（最好是大于一千），因为扫描linux的端口实在是太容易了。&lt;br /&gt;
&amp;lt;2&amp;gt;.第二种方法 在hosts.allow 和hosts.deny添加如下。&lt;/p&gt;
&lt;p&gt;在/etc/hosts.allow文件末尾中 添加:&lt;/p&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;sshd,sshd:&lt;span style=&quot;color: #339966;&quot;&gt;xx.xx.xx.xx&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;sshd,sshd:ALL&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;在/etc/hosts.deny文件末尾中 添加:&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;ALL:ALL@ALL,PARANOID&lt;/span&gt;&lt;br /&gt;
完了手工，欢迎指正。&lt;/p&gt;
&lt;p&gt;如果还想要更加安全可以像想tencent开放平台一样设置随机码加固定密码下次补上。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472652/martinblog/feedsky/s.gif?r=http://www.blags.org/linux-the-ssh-security-issues/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/linux-the-ssh-security-issues/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>年尾太忙很久都没有分享了。在家过年的时候发现web服务器被别人恶意攻击了，一进去发现sshd进程占用完一个cpu。
果断杀掉。
为了安心在家过年决定解决下这个问题。免得在家过年还老是来报警短信。
方案有如下，一下操作针对centos，redhat，其他操作系统请自行查找配置文件所在：
设置跳板机（一般是选择对外不开放的机器），使用内网进行登录。在受攻击的机器设置只允许指定ip访问。
&amp;#60;1&amp;#62;.可以在使用linux防火墙进行处理。具体方法是 ：

View Code CONFIGecho &amp;#34;-A RH-Firewall-1-INPUT -m state --state NEW -s 10.xx.xx.xx -m tcp -p tcp -m multiport --dports xx -j ACCEPT&amp;#34; &amp;#62;&amp;#62; /etc/sysconfig/iptables;

上处的第一处表示 跳板机内网ip，第二处一般是22，运行完重启下防火墙，不过博主建议修改sshd登录端口，修改方法如下：
vim /etc/ssh/ssh_config 修改成自己想要的端口（最好是大于一千），因为扫描linux的端口实在是太容易了。
&amp;#60;2&amp;#62;.第二种方法 在hosts.allow 和hosts.deny添加如下。
在/etc/hosts.allow文件末尾中 添加:
sshd,sshd:xx.xx.xx.xx
sshd,sshd:ALL
在/etc/hosts.deny文件末尾中 添加:
ALL:ALL@ALL,PARANOID
完了手工，欢迎指正。
如果还想要更加安全可以像想tencent开放平台一样设置随机码加固定密码下次补上。&lt;img src=&quot;http://www1.feedsky.com/t1/603472652/martinblog/feedsky/s.gif?r=http://www.blags.org/linux-the-ssh-security-issues/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Unix&amp;Linux</category><category>sshd</category><category>centos</category><pubDate>Sun, 05 Feb 2012 22:51:32 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/linux-the-ssh-security-issues/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=702</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/linux-the-ssh-security-issues/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472652/6528631</fs:itemid></item><item><title>linux locate 快速查找命令介绍</title><link>http://www.blags.org/linux-locate/</link><content:encoded>&lt;p&gt;时间过得好快，一转眼一年又快到过年了，很久没有和大家分享了，工作实在太忙了。&lt;/p&gt;
&lt;p&gt;使用&lt;a href=&quot;http://www.blags.org/tags/linux/&quot;target=&quot;_self&quot;title=&quot;linux&quot; &gt;linux&lt;/a&gt;的人都会知道find查找命令。&lt;/p&gt;
&lt;p&gt;下面有关于find的使用说明 ：&lt;span style=&quot;line-height: 28px;&quot;&gt;&lt;a title=&quot;文章链接: linux 查找命令大全&quot; rel=&quot;bookmark&quot; href=&quot;http://www.blags.org/linux-find-command-daquan/&quot;&gt;linux 查找命令大全。&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;下面给大家介绍一个快速查找工具locate，支持正则。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;一般linux系统都会默认安装。没有默认安装也不要着急。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;&lt;a href=&quot;http://www.blags.org/tags/ubuntu/&quot;title=&quot;ubuntu&quot; &gt;ubuntu&lt;/a&gt;：sudo apt-get install locate;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;&lt;a href=&quot;http://www.blags.org/tags/centos/&quot;title=&quot;centos 系统&quot; &gt;centos&lt;/a&gt;：yum -y install mlocate;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;工作原理:通过定时任务定时生成文件名相关的数据文件（一般会存放在【/var/lib/mlocate/mlocate.db】），当然定时任务不会很实时,这个会导致刚刚安装的软件找不到，这时候大家需要使用（updatedb）来更新locate数据文件。&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;使用方法：locate xx(要查找的文件名) -l num（要显示的行数）。当然这个文件名在系统中出现太多，就需要用到-l这个参数。不然等着刷屏吧。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height: 28px;&quot;&gt;正则使用参数：-&lt;/span&gt;r, &amp;#8211;regexp REGEXP&lt;/p&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;Search for a basic regexp REGEXP.  No PATTERNs  are  allowed  ifthis  option  is used, but this option can be specified multiple&lt;/div&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;times.&lt;/div&gt;
&lt;p&gt;更多使用方法：man locate；&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://linux.about.com/od/commands/l/blcmdl1_locate.htm&quot;&gt;http://linux.about.com/od/commands/l/blcmdl1_locate.htm&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472653/martinblog/feedsky/s.gif?r=http://www.blags.org/linux-locate/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/linux-locate/feed/</wfw:commentRss><slash:comments>1</slash:comments><description>时间过得好快，一转眼一年又快到过年了，很久没有和大家分享了，工作实在太忙了。
使用linux的人都会知道find查找命令。
下面有关于find的使用说明 ：linux 查找命令大全。
下面给大家介绍一个快速查找工具locate，支持正则。
一般linux系统都会默认安装。没有默认安装也不要着急。
ubuntu：sudo apt-get install locate;
centos：yum -y install mlocate;
工作原理:通过定时任务定时生成文件名相关的数据文件（一般会存放在【/var/lib/mlocate/mlocate.db】），当然定时任务不会很实时,这个会导致刚刚安装的软件找不到，这时候大家需要使用（updatedb）来更新locate数据文件。

使用方法：locate xx(要查找的文件名) -l num（要显示的行数）。当然这个文件名在系统中出现太多，就需要用到-l这个参数。不然等着刷屏吧。
正则使用参数：-r, &amp;#8211;regexp REGEXP
Search for a basic regexp REGEXP.  No PATTERNs  are  allowed  ifthis  option  is used, but this option can be specified multiple
times.
更多使用方法：man locate；
http://linux.about.com/od/commands/l/blcmdl1_locate.htm&lt;img src=&quot;http://www1.feedsky.com/t1/603472653/martinblog/feedsky/s.gif?r=http://www.blags.org/linux-locate/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Unix&amp;Linux</category><category>locate</category><pubDate>Sat, 22 Oct 2011 11:34:14 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/linux-locate/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=701</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/linux-locate/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472653/6528631</fs:itemid></item><item><title>zabbix mysql全面监控</title><link>http://www.blags.org/zabbix-mysql-comprehensive-monitoring/</link><content:encoded>&lt;p&gt;背景：多台服务器管理，出现问题时只能跑到指定机器上查看日志信息。&lt;/p&gt;
&lt;p&gt;而cpu，mem使用情况在日志里面只能凭个人经验来判断是cpu，还是mem或者io出现问题，导致机器出现故障。而zabbix可以保存这些时间段，机器各项的信息从而能快速定位问题。&lt;/p&gt;
&lt;p&gt;zabbix：包含了系统常用的监控，同时还可以自定义选项来监控（exp：访问量、在线）。扩展起来非常方便，所以就选择了zabbix。&lt;/p&gt;
&lt;p&gt;对&lt;a href=&quot;http://www.blags.org/tags/linux/&quot;target=&quot;_self&quot;title=&quot;linux&quot; &gt;linux&lt;/a&gt;来说基本很大一部分机器都装有&lt;a href=&quot;http://www.blags.org/tags/mysql/&quot;title=&quot;mysql&quot; &gt;mysql&lt;/a&gt;。同时官网也提供了php的监控方法（采用的时候zabbix_sender进行推送），但是这样每个机器就得装php才能监控，可是想想不用php也完全能完成（shell）。于是就自己写了监控脚本和大家大奖分享下。&lt;/p&gt;
&lt;p&gt;具体思路：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;采集mysql自身的运行信息

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p697code3'); return false;&quot;&gt;View Code&lt;/a&gt; SQL&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p6973&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p697code3&quot;&gt;&lt;pre class=&quot;sql&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;show&lt;/span&gt; global &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;status&lt;/span&gt;；&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;讲打印出来的mysql运行信息保存至临时文件（exp：/tmp/zabbix_mysql_%M.log）.&lt;br /&gt;
这里很多人会问为什么要保存至文件呢，而不是直接返回呢？&lt;br /&gt;
&amp;lt;1&amp;gt;.为了保证mysql取值时，不会频繁的进行数据库连接查询，而zabbix获取数据有事周期性的（本人使用的是60s/次）。所以本人使用分钟来生成文件，分钟内都取同一个文件。&lt;br /&gt;
&amp;lt;2&amp;gt;.为了保证各项数据取到没有时间差。保证生成的线条一致性。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;好了废话不多说，下面是she脚本。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p697code4'); return false;&quot;&gt;View Code&lt;/a&gt; SHELL&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p6974&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p697code4&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;#!/bin/sh
dateM=`date &amp;quot;+%M&amp;quot;`;
fileName='/tmp/zabbix_mysql_status_'$dateM&amp;quot;.log&amp;quot;;
if [ ! -f $fileName ]; then
	rm -f /tmp/zabbix_mysql_status*;
	mysql -uroot -p$1 -e 'show global status;' &amp;amp;gt; $fileName;
fi;
if [  -f $fileName ]; then
	cat $fileName | grep -w &amp;quot;$2&amp;quot; | awk 'BEGIN {FS=&amp;quot; &amp;quot;} {print $2}'
fi;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;usage:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;复制以上内容保存到/usr/bin/zabbix_mysql.sh（或者&lt;a href=&quot;#zabbix_mysql&quot;&gt;直接下载&lt;/a&gt;）.&lt;/li&gt;
&lt;li&gt;赋予执行去权限（chmod +x /usr/bin/zabbix_mysql.sh）&lt;/li&gt;
&lt;li&gt;里面有两个参数 $1：表示root密码，$2：监控项。&lt;br /&gt;
exp:zabbix_mysql.sh rootpass Com_select（启动mysql的总查询次数）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;mysql status 介绍：&lt;br /&gt;
&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;效果图：&lt;/p&gt;
&lt;div id=&quot;attachment_698&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 310px&quot;&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/zabbix-mysql.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-698&quot; title=&quot;zabbix mysql&quot; src=&quot;http://www.blags.org/wp-content/Upload/zabbix-mysql-300x78.png&quot; alt=&quot;zabbix mysql&quot; width=&quot;300&quot; height=&quot;78&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;zabbix mysql&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;附件：&lt;br /&gt;
&lt;a name=&quot;zabbix_mysql&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.blags.org/wp-content/Upload/zabbix_mysql.sh.zip&quot;&gt;zabbix mysql shell&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472654/martinblog/feedsky/s.gif?r=http://www.blags.org/zabbix-mysql-comprehensive-monitoring/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/zabbix-mysql-comprehensive-monitoring/feed/</wfw:commentRss><slash:comments>1</slash:comments><description>背景：多台服务器管理，出现问题时只能跑到指定机器上查看日志信息。而cpu，mem使用情况在日志里面只能凭个人经验来判断是cpu，还是mem或者io出现问题，导致机器出现故障。而zabbix可以保存这些时间段，机器各项的信息从而能快速定位问题。&lt;img src=&quot;http://www1.feedsky.com/t1/603472654/martinblog/feedsky/s.gif?r=http://www.blags.org/zabbix-mysql-comprehensive-monitoring/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>zabbix</category><category>Unix&amp;Linux</category><pubDate>Tue, 20 Sep 2011 23:27:06 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/zabbix-mysql-comprehensive-monitoring/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=697</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/zabbix-mysql-comprehensive-monitoring/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472654/6528631</fs:itemid></item><item><title>wordpress 评论改进</title><link>http://www.blags.org/wordpress-comments-to-improve/</link><content:encoded>&lt;p&gt;wordpress 有强大的反垃圾评论插件akismet，也有各种各样的优秀评论插件。但是插件太多往往影响速度。而wordpress的评论只是提交了并不会自动返回，需要用户自己点击后退进行返回，严重影响用户体验。&lt;/p&gt;
&lt;p&gt;本文就简单给大家介绍本人的评论优化方案。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;方案一&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;餐用ajax提交，固然是体验最好的一种，采用ajax就必须在每个页面添加一段js固然会占用页面加载时间。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;方案二&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在&lt;a href=&quot;http://www.blags.org/wp-comments-post.php&quot;&gt;/wp-comments-post.php&lt;/a&gt; 进行修改，方法比较简单。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;找到根目录下/wp-includes/functions.php&lt;/li&gt;
&lt;li&gt;找到wp_die()方法。&lt;/li&gt;
&lt;li&gt;将

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p685code5'); return false;&quot;&gt;View Code&lt;/a&gt; PHP&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p6855&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p685code5&quot;&gt;&lt;pre class=&quot;php&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$wp_locale&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;&amp;amp;&lt;/span&gt;amp&lt;span style=&quot;color: #339933;&quot;&gt;;&amp;amp;&lt;/span&gt;amp&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;'rtl'&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$wp_locale&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;-&amp;amp;&lt;/span&gt;gt&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;text_direction &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$text_direction&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;'rtl'&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;........&lt;/span&gt;
	&lt;a href=&quot;http://www.php.net/die&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;die&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#之间&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;的内容替换成如下：&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p685code6'); return false;&quot;&gt;View Code&lt;/a&gt; PHP&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p6856&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p685code6&quot;&gt;&lt;pre class=&quot;php&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;!&lt;/span&gt;DOCTYPE html &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;PUBLIC&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;html xmlns&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;a href=&quot;http://www.php.net/function_exists&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;'language_attributes'&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; language_attributes&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;head&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;meta http&lt;span style=&quot;color: #339933;&quot;&gt;-&lt;/span&gt;equiv&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt; content&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;text/html; charset=utf-8&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;title&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?&lt;/span&gt;php &lt;span style=&quot;color: #b1b100;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$title&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;title&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;link rel&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt; href&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;&amp;lt;?php echo &lt;span style=&quot;color: #006699; font-weight: bold;&quot;&gt;$admin_dir&lt;/span&gt;; ?&amp;gt;css/install.css&amp;quot;&lt;/span&gt; type&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;'rtl'&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$text_direction&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;link rel&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt; href&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;&amp;lt;?php echo &lt;span style=&quot;color: #006699; font-weight: bold;&quot;&gt;$admin_dir&lt;/span&gt;; ?&amp;gt;css/install-rtl.css&amp;quot;&lt;/span&gt; type&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;endif&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;script type&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; n&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'三'&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'二'&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'一'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;function $&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; document&lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt;getElementById&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;i&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;setInterval&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; t&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Number&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;$&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'t'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt;value&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;$&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'d'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt;innerHTML&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;n&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;t&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;t&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;t&lt;span style=&quot;color: #339933;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;?&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt;t&lt;span style=&quot;color: #339933;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;$&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'t'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt;value&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;t&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;setTimeout&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;history&lt;span style=&quot;color: #339933;&quot;&gt;.&lt;/span&gt;back&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;4000&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; 
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;head&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;body id&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;error-page&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;endif&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;input id&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;t&amp;quot;&lt;/span&gt; type&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt; value&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;/&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;table width&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;700&amp;quot;&lt;/span&gt; border&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt; cellspacing&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;tr&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td rowspan&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;3&amp;quot;&lt;/span&gt; width&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;125&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;a href&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;img border&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt; src&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;/logo.jpg&amp;quot;&lt;/span&gt; title&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;马丁博客&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;a&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td style&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;font-size:13px;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?&lt;/span&gt;php &lt;span style=&quot;color: #b1b100;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$message&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;tr&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;tr&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td style&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;font-size:11px;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;页面在 &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;span id&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;d&amp;quot;&lt;/span&gt; style&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;color:red&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;四&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;span&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; 秒后自动返回&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;如果你的浏览器没响应请 &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;a href&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;javascript:history.back();&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;点击此处&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; 返回继续&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;tr&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;tr&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;td style&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;font-size:11px;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;Page automatically after a few seconds to &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; your browser did not respond to &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt;a href&lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;&amp;quot;javascript:history.back();&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;Click here&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt; to &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; to continue&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;td&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;tr&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
        &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;table&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;body&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;/&lt;/span&gt;html&lt;span style=&quot;color: #339933;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;下面是效果图：&lt;/p&gt;
&lt;div id=&quot;attachment_687&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 310px&quot;&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/wordpress-comment.png&quot;&gt;&lt;img src=&quot;http://www.blags.org/wp-content/Upload/wordpress-comment-300x66.png&quot; alt=&quot;wordpress-comment&quot; title=&quot;wordpress-comment&quot; width=&quot;300&quot; height=&quot;66&quot; class=&quot;size-medium wp-image-687&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;wordpress-comment&lt;/p&gt;&lt;/div&gt;
&lt;div style=&quot;display:none&quot;&gt;ad6bc206&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472655/martinblog/feedsky/s.gif?r=http://www.blags.org/wordpress-comments-to-improve/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/wordpress-comments-to-improve/feed/</wfw:commentRss><slash:comments>2</slash:comments><description>wordpress 有强大的反垃圾评论插件akismet，也有各种各样的优秀评论插件。但是插件太多往往影响速度。而wordpress的评论只是提交了并不会自动返回，需要用户自己点击后退进行返回，严重影响用户体验。&lt;img src=&quot;http://www1.feedsky.com/t1/603472655/martinblog/feedsky/s.gif?r=http://www.blags.org/wordpress-comments-to-improve/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>wordpress</category><category>php</category><pubDate>Mon, 18 Jul 2011 23:54:40 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/wordpress-comments-to-improve/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=685</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/wordpress-comments-to-improve/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472655/6528631</fs:itemid></item><item><title>google +1加载慢解决办法</title><link>http://www.blags.org/google-plusone-slow-loading-solution/</link><content:encoded>&lt;p&gt;使用google+1一段时间了，发现不是很稳定，一段时间能用一段时间不能用，在国内加载速度有时间奇慢，和gmail一样。&lt;br /&gt;
期待改善。&lt;/p&gt;
&lt;h4&gt;google +1介绍：&lt;/h4&gt;
&lt;p&gt;&lt;span&gt; Google +1 is yet another attempt to make Google more social. It&amp;#8217;s Google&amp;#8217;s version of the Facebook &amp;#8220;likes&amp;#8221;, a simple feature that&amp;#8217;s very powerful because it&amp;#8217;s part of a social network.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;既然想使用它，就得想办法改善它，不让他影响网页的加载。&lt;/p&gt;
&lt;p&gt;本人的做法是 &amp;#8211; 采用异步加载:&lt;/p&gt;
&lt;p&gt;将要加载的内容放在网页&amp;lt;/body&amp;gt;结束符之前位置，来保证网页顺利加载。&lt;/p&gt;
&lt;p&gt;采用js加载js的办法进行js加载，就不会影响网页的加载了。&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p681code7'); return false;&quot;&gt;View Code&lt;/a&gt; JS&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p6817&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p681code7&quot;&gt;&lt;pre class=&quot;js&quot; style=&quot;font-family:monospace;&quot;&gt;document.write('&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;https://apis.google.com/js/plusone.js&amp;quot;&amp;gt;&amp;lt;\/script&amp;gt;');&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;在需要的地方加上g:plusone标签：&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p681code8'); return false;&quot;&gt;View Code&lt;/a&gt; HTML&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p6818&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p681code8&quot;&gt;&lt;pre class=&quot;html&quot; style=&quot;font-family:monospace;&quot;&gt;&amp;lt;g:plusone count=&amp;quot;false&amp;quot; href=&amp;quot;http://www.blags.org&amp;quot;&amp;gt;&amp;lt;/g:plusone&amp;gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;获取地址:&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;google+1&quot; href=&quot;http://www.google.com/intl/zh-CN/+1/button/index.html&quot;&gt;http://www.google.com/intl/zh-CN/+1/button/index.html&lt;/a&gt;&lt;br /&gt;
&lt;a title=&quot;google+1代码获取&quot; href=&quot;http://www.google.com/intl/zh-CN/webmasters/+1/button/index.html&quot;&gt;http://www.google.com/intl/zh-CN/webmasters/+1/button/index.html&lt;/a&gt;&lt;/p&gt;
&lt;div id=&quot;attachment_692&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 310px&quot;&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/google-plus.gif&quot;&gt;&lt;img src=&quot;http://www.blags.org/wp-content/Upload/google-plus-300x154.jpg&quot; alt=&quot;google-plus&quot; title=&quot;google-plus&quot; width=&quot;300&quot; height=&quot;154&quot; class=&quot;size-medium wp-image-692&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;google-plus&lt;/p&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472656/martinblog/feedsky/s.gif?r=http://www.blags.org/google-plusone-slow-loading-solution/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/google-plusone-slow-loading-solution/feed/</wfw:commentRss><slash:comments>1</slash:comments><description>使用google+1一段时间了，发现不是很稳定，一段时间能用一段时间不能用，在国内加载速度有时间奇慢，和gmail一样。
期待改善。&lt;img src=&quot;http://www1.feedsky.com/t1/603472656/martinblog/feedsky/s.gif?r=http://www.blags.org/google-plusone-slow-loading-solution/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>js</category><category>google+1</category><category>WEB</category><category>google</category><pubDate>Thu, 07 Jul 2011 00:54:59 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/google-plusone-slow-loading-solution/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=681</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/google-plusone-slow-loading-solution/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472656/6528631</fs:itemid></item><item><title>php 安全问题</title><link>http://www.blags.org/php-security-issue/</link><content:encoded>&lt;p&gt;做web开发，相信搭建都知道一些安全基本知识，&amp;#8221;&lt;span style=&quot;color: #ff0000;&quot;&gt;千万不能相信客户端数据&lt;/span&gt;&amp;#8220;。而php又是一种弱类型语言。很多人在开发过程中忽略了类型转换，参数过滤直接量成不可估量的后果。&lt;/p&gt;
&lt;p&gt;不使用过滤函数可能出现以下情况：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;数据库被(sql)注入。直接可以导致你的系统崩溃，系统数据丢失，用户信息丢失。&lt;/li&gt;
&lt;li&gt;网站被挂马，遇到文件处理则可以将你的网站文件删除。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;另外值得一提的是很多人认为开启php安全模式就万事大吉了。其实不然，很多注入者往往绕过正面，进行侧面进攻。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用 &lt;span style=&quot;color: #ff0000;&quot;&gt;0&amp;#215;7e,0&amp;#215;27&lt;/span&gt;等(&lt;span style=&quot;color: #ff0000;&quot;&gt;ASCII码&lt;/span&gt;)字符串来充当引号，而php又无法过滤。&lt;/li&gt;
&lt;li&gt;注入的一般方式都是在参数里面加入很多&lt;a href=&quot;http://www.blags.org/tags/mysql/&quot;title=&quot;mysql&quot; &gt;mysql&lt;/a&gt; sql语法，去获取敏感数据信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;exp：&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p674code10'); return false;&quot;&gt;View Code&lt;/a&gt; SQL&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p67410&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p674code10&quot;&gt;&lt;pre class=&quot;sql&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;select&lt;/span&gt; count&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;concat&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;select&lt;/span&gt; concat&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;0x7e&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;0x27&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;phpcms_member&lt;span style=&quot;color: #66cc66;&quot;&gt;.&lt;/span&gt;username&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;0x27&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;0x7e&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;from&lt;/span&gt; phpcms_member &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;limit&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;from&lt;/span&gt; information_schema&lt;span style=&quot;color: #66cc66;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;tables&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;limit&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt;floor&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;rand&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;x &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;from&lt;/span&gt; information_schema&lt;span style=&quot;color: #66cc66;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;tables&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;group&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;by&lt;/span&gt; x&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #993333; font-weight: bold;&quot;&gt;and&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;mysql information_schema.tables 所有用户都可见可查，能查出所有表结构信息，数据库信息。&lt;/p&gt;
&lt;p&gt;php开源系统很多，很多开源系统大家知道数据结构，已级敏感信息表。(&lt;span style=&quot;color: #ff0000;&quot;&gt;这里当然也包括不法分子&lt;/span&gt;)&lt;/p&gt;
&lt;p&gt;这里指的敏感信息：往往是一些用户信息，管理端信息。现在&lt;span style=&quot;color: #ff0000;&quot;&gt;md5的穷举&lt;/span&gt;一直在进行着。很多的md5加密之后的密码仍然能被解密成明文。&lt;/p&gt;
&lt;p&gt;很多系统都做了相应的安全提升。&lt;/p&gt;
&lt;p&gt;下面介绍以下常见手段：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用过滤函数，&lt;a title=&quot;php filter 安全过滤函数&quot; href=&quot;http://www.blags.org/php-security-filter-function/&quot;&gt;php filter 安全过滤函数&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;md5(  md5(&amp;#8216;用户密码&amp;#8217;) . &amp;#8216;私钥&amp;#8217; ) 得出加密结果。&lt;/li&gt;
&lt;li&gt;常用的php开源系统后台一定要修改目录名。很多系统后台直接使用&lt;span style=&quot;color: #ff0000;&quot;&gt;admin&lt;/span&gt;作为后台入口。&lt;/li&gt;
&lt;li&gt;不要将phpmyadmin等数据库操作软件安置在网站可见目录。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;等等。。之所以这样是由于现在大量存在扫描工具去扫描这样的管理端。&lt;/p&gt;
&lt;p&gt;下面是惊心的一张图&lt;/p&gt;
&lt;div id=&quot;attachment_675&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 310px&quot;&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/mysql-zhu-ru.png&quot;&gt;&lt;img src=&quot;http://www.blags.org/wp-content/Upload/mysql-zhu-ru-300x223.png&quot; alt=&quot;mysql 注入&quot; title=&quot;mysql 注入&quot; width=&quot;300&quot; height=&quot;223&quot; class=&quot;size-medium wp-image-675&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;mysql 注入&lt;/p&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472657/martinblog/feedsky/s.gif?r=http://www.blags.org/php-security-issue/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/php-security-issue/feed/</wfw:commentRss><slash:comments>1</slash:comments><description>做web开发，相信搭建都知道一些安全基本知识，&amp;#8221;千万不能相信客户端数据&amp;#8220;。而php又是一种弱类型语言。很多人在开发过程中忽略了类型转换，参数过滤直接量成不可估量的后果。
不使用过滤函数可能出现以下情况：

数据库被(sql)注入。直接可以导致你的系统崩溃，系统数据丢失，用户信息丢失。
网站被挂马，遇到文件处理则可以将你的网站文件删除。

另外值得一提的是很多人认为开启php安全模式就万事大吉了。其实不然，很多注入者往往绕过正面，进行侧面进攻。

使用 0&amp;#215;7e,0&amp;#215;27等(ASCII码)字符串来充当引号，而php又无法过滤。
注入的一般方式都是在参数里面加入很多mysql sql语法，去获取敏感数据信息。

exp：

View Code SQLand&amp;#40;select 1 from&amp;#40;select count&amp;#40;*&amp;#41;,concat&amp;#40;&amp;#40;select &amp;#40;select &amp;#40;select concat&amp;#40;0x7e,0x27,phpcms_member.username,0x27,0x7e&amp;#41; from phpcms_member limit 0,1&amp;#41;&amp;#41; from information_schema.tables limit 0,1&amp;#41;,floor&amp;#40;rand&amp;#40;0&amp;#41;*2&amp;#41;&amp;#41;x from information_schema.tables group by x&amp;#41;a&amp;#41; and 1=1

mysql information_schema.tables 所有用户都可见可查，能查出所有表结构信息，数据库信息。
php开源系统很多，很多开源系统大家知道数据结构，已级敏感信息表。(这里当然也包括不法分子)
这里指的敏感信息：往往是一些用户信息，管理端信息。现在md5的穷举一直在进行着。很多的md5加密之后的密码仍然能被解密成明文。
很多系统都做了相应的安全提升。
下面介绍以下常见手段：

使用过滤函数，php filter 安全过滤函数.
md5(  md5(&amp;#8216;用户密码&amp;#8217;) . &amp;#8216;私钥&amp;#8217; ) 得出加密结果。
常用的php开源系统后台一定要修改目录名。很多系统后台直接使用admin作为后台入口。
不要将phpmyadmin等数据库操作软件安置在网站可见目录。

等等。。之所以这样是由于现在大量存在扫描工具去扫描这样的管理端。
下面是惊心的一张图&lt;img src=&quot;http://www1.feedsky.com/t1/603472657/martinblog/feedsky/s.gif?r=http://www.blags.org/php-security-issue/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>CMS</category><category>php</category><category>安全</category><category>后台</category><category>MYSQL</category><pubDate>Sat, 02 Jul 2011 12:01:07 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/php-security-issue/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=674</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/php-security-issue/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472657/6528631</fs:itemid></item><item><title>php filter 安全过滤函数</title><link>http://www.blags.org/php-security-filter-function/</link><content:encoded>&lt;p&gt;php 利用filter 扩展编写的参数处理静态类,欢迎使用。&lt;br /&gt;
希望大家看得开心，用得放心。&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p676code11'); return false;&quot;&gt;View Code&lt;/a&gt; PHP&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p67611&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p676code11&quot;&gt;&lt;pre class=&quot;php&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
 * @参数验证函数
 * @method:
 * @license http://www.blags.org/
 * @created:2011年07月02日 11时00分
 * @copyright 1997-2011 The Martin Group
 * @author Martin &amp;lt;martin@blags.org&amp;gt; 
 * */&lt;/span&gt;
abstract &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; CFilter
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 类型
	 * @var array
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000088;&quot;&gt;$varType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;
				&lt;span style=&quot;color: #0000ff;&quot;&gt;'GET'&lt;/span&gt;	&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; INPUT_GET&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
				&lt;span style=&quot;color: #0000ff;&quot;&gt;'POST'&lt;/span&gt;	&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; INPUT_POST&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
				&lt;span style=&quot;color: #0000ff;&quot;&gt;'COOKIE'&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; INPUT_COOKIE&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
				&lt;span style=&quot;color: #0000ff;&quot;&gt;'SERVER'&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; INPUT_SERVER&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
				&lt;span style=&quot;color: #0000ff;&quot;&gt;'ENV'&lt;/span&gt;	&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt; INPUT_ENV
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'STRING'&lt;/span&gt;	&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_SANITIZE_STRING&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'INT'&lt;/span&gt;		&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_INT&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'BOOLEAN'&lt;/span&gt;	&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_BOOLEAN&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'FLOAT'&lt;/span&gt;		&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_FLOAT&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'REGEXP'&lt;/span&gt;	&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_REGEXP&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'URL'&lt;/span&gt;		&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_URL&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'EMAIL'&lt;/span&gt;		&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_EMAIL&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
			&lt;span style=&quot;color: #0000ff;&quot;&gt;'IP'&lt;/span&gt;		&lt;span style=&quot;color: #339933;&quot;&gt;=&amp;gt;&lt;/span&gt;	FILTER_VALIDATE_IP&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 支持过滤列表
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; lists&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/filter_list&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;filter_list&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 验证类型
	 * @param string $type
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; filterType&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$type&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$filter_list&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;lists&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/array_search&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;array_search&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$type&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filter_list&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;!==&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;false&lt;/span&gt; ? &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;true&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 
	 * @param $setVarType
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; getVarType&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/strtoupper&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;strtoupper&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$varType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; ? &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$varType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 
	 * @param string $setFilterType
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;private&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; getFilterType&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$setFilterType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/strtoupper&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;strtoupper&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; ? &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 检测参数是否存在
	 * @param string $setVarType
	 * @param string $varName
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; VarExists&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$varName&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$FilterVarType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;getVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/is_null&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;is_null&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$FilterVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
			&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/filter_has_var&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;filter_has_var&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$varType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$FilterVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$varName&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 
	 * @param string $setVarType
	 * @param string $varName
	 * @param string $filterType
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; FilterInput&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$varName&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;'INT'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$FilterVarType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;getVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$setVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;getFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/is_null&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;is_null&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$FilterVarType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;||&lt;/span&gt; &lt;a href=&quot;http://www.php.net/is_null&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;is_null&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
			&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #009900; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/filter_input&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;filter_input&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$FilterVarType&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$varName&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 验证变量
	 * @param string $var
	 * @param string $filterType
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; FilterVar&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;getFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/filter_var&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;filter_var&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 字符串
	 * @param string $var
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; String&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'STRING'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Int&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'INT'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Boolean&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'INT'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Float&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'FLOAT'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #009933; font-style: italic;&quot;&gt;/**
	 * 
	 * @param string $var
	 * @param array $option array(&amp;quot;options&amp;quot;=&amp;gt;array(&amp;quot;regexp&amp;quot;=&amp;gt;&amp;quot;/^M(.*)/&amp;quot;))
	 */&lt;/span&gt;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Regexp&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$option&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;getFilterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;a href=&quot;http://www.php.net/filter_var&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;filter_var&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$filterType&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$option&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Url&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'URL'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Email&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'EMAIL'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;public&lt;/span&gt; static &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Ip&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
		&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #004000;&quot;&gt;FilterVar&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$var&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'IP'&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;参考地址：&lt;a href=&quot;http://www.php.net/manual/en/book.filter.php&quot;&gt;http://www.php.net/manual/en/book.filter.php&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472658/martinblog/feedsky/s.gif?r=http://www.blags.org/php-security-filter-function/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/php-security-filter-function/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>php 利用filter 扩展编写的参数处理静态类,欢迎使用。
希望大家看得开心，用得放心。&lt;img src=&quot;http://www1.feedsky.com/t1/603472658/martinblog/feedsky/s.gif?r=http://www.blags.org/php-security-filter-function/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>php</category><category>filter</category><pubDate>Fri, 01 Jul 2011 11:59:30 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/php-security-filter-function/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=676</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/php-security-filter-function/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472658/6528631</fs:itemid></item><item><title>mysql 数据导入导出方法</title><link>http://www.blags.org/mysql-data-import-and-export-methods/</link><content:encoded>&lt;p&gt;众所周知&lt;a href=&quot;http://www.blags.org/tags/mysql/&quot;title=&quot;mysql&quot; &gt;mysql&lt;/a&gt;的数据导出方法，可以使用到mysqldump这个命令,其中如果导出指定格式的数据困扰了我。&lt;/p&gt;
&lt;p&gt;比如到处数据用逗号(&amp;#8216;)，竖线(|)隔开的数据。很多人会说使用用&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mysql -uUser -pPwd dbName -e &amp;#8220;$sql&amp;#8221; 进行导出。&lt;br /&gt;
其中$sql使用 SELECT * FROM `TABLENAME` WHERE xxx INTO OUTFILE &amp;#8220;指定文件路劲&amp;#8221; FIELDS TERMINATED BY &amp;#8221;&lt;span style=&quot;color: #ff0000;&quot;&gt;|&lt;/span&gt;&amp;#8220;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种往往很多会报没有权限之类的莫名其妙的错误。&lt;/p&gt;
&lt;p&gt;错误一&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p669code16'); return false;&quot;&gt;View Code&lt;/a&gt; ERROR&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p66916&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p669code16&quot;&gt;&lt;pre class=&quot;error&quot; style=&quot;font-family:monospace;&quot;&gt;ERROR 1045 (28000) at line 1: Access denied for user 'qinghua'@'localhost' (using password: YES)&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;错误二&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p669code17'); return false;&quot;&gt;View Code&lt;/a&gt; ERROR&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p66917&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p669code17&quot;&gt;&lt;pre class=&quot;error&quot; style=&quot;font-family:monospace;&quot;&gt;ERROR 1 (HY000) at line 1: Can't create/write to file '/home/martin/outfile' (Errcode: 13)&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;错误一是由于普通用户没有执行权限，错误二是由于没有权限穿件文件&amp;#8221;aa&amp;#8221;。&lt;/span&gt;&lt;br /&gt;
正确的做应该是&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p669code18'); return false;&quot;&gt;View Code&lt;/a&gt; SHELL&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p66918&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p669code18&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;mysql -uqinghua -p123456 qinghua --e &amp;quot;select * from qinghua.user where 1 into outfile 'outfile' FIELDS TERMINATED BY'|'&amp;quot;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;这样它穿件的文件会出现在mysql datadir目录对应的数据库文件夹内。&lt;/p&gt;
&lt;p&gt;如果想把文件创建到指定目录内。那你一定得赋予改目录mysql写入权限。&lt;/p&gt;
&lt;p&gt;一般的做法是&lt;/p&gt;
&lt;p&gt;mkdir -p /home/martin/outdata;&lt;br /&gt;
chown mysql.mysql /home/martin/outdata;&lt;/p&gt;
&lt;p&gt;sudo chmod 777 /home/martin/outdata;&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader wp_codebox_hide&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot; onclick=&quot;javascript:showCodeTxt('p669code19'); return false;&quot;&gt;View Code&lt;/a&gt; SHELL&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p66919&quot;&gt;&lt;td class=&quot;code&quot; id=&quot;p669code19&quot;&gt;&lt;pre class=&quot;shell&quot; style=&quot;font-family:monospace;&quot;&gt;mysql -uqinghua -p123456 qinghua --e &amp;quot;select * from qinghua.user where 1 into outfile '/home/martin/outdata/outfile' FIELDS TERMINATED BY'|'&amp;quot;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;mysqldump参数介绍：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#8211;w 设定导出的条件。&lt;/li&gt;
&lt;li&gt;&amp;#8211;no-create-db 导出时不到出穿件数据库。&lt;/li&gt;
&lt;li&gt;&amp;#8211;no-create-info 不创建表结构。&lt;/li&gt;
&lt;li&gt;&amp;#8211;xml 导出xml格式文件。&lt;/li&gt;
&lt;li&gt;&amp;#8211;skip-add-drop-table 不创建删除表结构语句。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;mysql数据导入一般使用 mysql -uUser -pPwd dbName &amp;lt; xxx.sql，或者使用source进行导入。&lt;/p&gt;
&lt;p&gt;参考地址：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html&quot;&gt;http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.1/zh/replication.html&quot;&gt;http://dev.mysql.com/doc/refman/5.1/zh/replication.html&lt;/a&gt; 生成二进制日志，进行双机热备。&lt;/p&gt;
&lt;p&gt;错误：&lt;/p&gt;
&lt;div id=&quot;attachment_690&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 309px&quot;&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/mysql-output1.png&quot;&gt;&lt;img src=&quot;http://www.blags.org/wp-content/Upload/mysql-output1.png&quot; alt=&quot;mysql output&quot; title=&quot;mysql output&quot; width=&quot;299&quot; height=&quot;71&quot; class=&quot;size-full wp-image-690&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;mysql output&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;结果：&lt;br /&gt;
&lt;div id=&quot;attachment_691&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 310px&quot;&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/mysql-out2.jpg&quot;&gt;&lt;img src=&quot;http://www.blags.org/wp-content/Upload/mysql-out2.jpg&quot; alt=&quot;mysql result&quot; title=&quot;mysql result&quot; width=&quot;300&quot; height=&quot;183&quot; class=&quot;size-full wp-image-691&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;mysql result&lt;/p&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472659/martinblog/feedsky/s.gif?r=http://www.blags.org/mysql-data-import-and-export-methods/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/mysql-data-import-and-export-methods/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>众所周知mysql的数据导出方法，可以使用到mysqldump这个命令,其中如果导出指定格式的数据困扰了我。
比如到处数据用逗号(&amp;#8216;)，竖线(&amp;#124;)隔开的数据。很多人会说使用用

mysql -uUser -pPwd dbName -e &amp;#8220;$sql&amp;#8221; 进行导出。
其中$sql使用 SELECT * FROM `TABLENAME` WHERE xxx INTO OUTFILE &amp;#8220;指定文件路劲&amp;#8221; FIELDS TERMINATED BY &amp;#8221;&amp;#124;&amp;#8220;

这种往往很多会报没有权限之类的莫名其妙的错误。
错误一

View Code ERRORERROR 1045 (28000) at line 1: Access denied for user 'qinghua'@'localhost' (using password: YES)

错误二

View Code ERRORERROR 1 (HY000) at line 1: Can't create/write to file '/home/martin/outfile' (Errcode: 13)

错误一是由于普通用户没有执行权限，错误二是由于没有权限穿件文件&amp;#8221;aa&amp;#8221;。
正确的做应该是

View Code SHELLmysql -uqinghua -p123456 qinghua --e &amp;#34;select &lt;a href=&quot;http://www.blags.org/mysql-data-import-and-export-methods/&quot; class=&quot;more-link&quot;&gt;More &amp;#62;&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472659/martinblog/feedsky/s.gif?r=http://www.blags.org/mysql-data-import-and-export-methods/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>MYSQL</category><pubDate>Thu, 30 Jun 2011 00:55:15 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/mysql-data-import-and-export-methods/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=669</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/mysql-data-import-and-export-methods/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472659/6528631</fs:itemid></item><item><title>wordpress 热门文章插件</title><link>http://www.blags.org/wordpress-pop-article-plugin/</link><content:encoded>&lt;p&gt;一个blog没有文章导航，会使得访客的跳出率大大升高。所以决定写一个文章汇总插件。已经折腾出来了。由于时间仓促。写得比较烂。后续会慢慢改善使之。使用了memcache,当然也可以使用wp_cache_get,wp_cache_set函数来使用您主机所使用的缓存，不过要做下修改。&lt;/p&gt;
&lt;p&gt;具体使用方法是。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;将文件下载本地解压，上传至您主题目录。&lt;/li&gt;
&lt;li&gt;添加页面的时候选择模板使用pop-article就行了。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a title=&quot;wordpress 热门文章插件&quot; href=&quot;http://www.blags.org/wp-content/Upload/pop.zip&quot;&gt;wordpress 热门文章插件&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;后期慢慢改善。&lt;/p&gt;
&lt;p&gt;效果：见本站 &lt;a href=&quot;http://www.blags.org/popular-articles/&quot;&gt;热门文章&lt;/a&gt; &lt;a href=&quot;http://www.blags.org/popular-articles/comment/&quot;&gt;热评文章&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;效果图：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blags.org/wp-content/Upload/a61.gif&quot;&gt;&lt;img src=&quot;http://www.blags.org/wp-content/Upload/a61.gif&quot; alt=&quot;&quot; title=&quot;a6&quot; width=&quot;300&quot; height=&quot;178&quot; class=&quot;alignnone size-full wp-image-689&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472660/martinblog/feedsky/s.gif?r=http://www.blags.org/wordpress-pop-article-plugin/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/wordpress-pop-article-plugin/feed/</wfw:commentRss><slash:comments>3</slash:comments><description>一个blog没有文章导航，会使得访客的跳出率大大升高。所以决定写一个文章汇总插件。已经折腾出来了。由于时间仓促。写得比较烂。后续会慢慢改善使之。使用了memcache,当然也可以使用wp_cache_get,wp_cache_set函数来使用您主机所使用的缓存，不过要做下修改。
具体使用方法是。

将文件下载本地解压，上传至您主题目录。
添加页面的时候选择模板使用pop-article就行了。

wordpress 热门文章插件
后期慢慢改善。
效果：见本站 热门文章 热评文章。
效果图：&lt;img src=&quot;http://www1.feedsky.com/t1/603472660/martinblog/feedsky/s.gif?r=http://www.blags.org/wordpress-pop-article-plugin/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>wordpress</category><category>php</category><category>热门文章</category><pubDate>Mon, 27 Jun 2011 00:48:47 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/wordpress-pop-article-plugin/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=663</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/wordpress-pop-article-plugin/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472660/6528631</fs:itemid></item><item><title>linux httpd 启动错误</title><link>http://www.blags.org/linux-httpd-start-error/</link><content:encoded>&lt;p&gt;搭建了无数lamp环境今天碰到了新问题，apache说文件不存在，可是文件明明存在，又可以涨知识了。&lt;br /&gt;
错误信息：&lt;br /&gt;
[root@xxx ~]# service httpd restart&lt;br /&gt;
Stopping httpd:                                            [FAILED]&lt;br /&gt;
Starting httpd: Warning: DocumentRoot [/home/martin] does not exist[  OK  ]&lt;br /&gt;
原来以为是权限问题，可以修改了权限之后发现还是找不到文件,真是郁闷。&lt;br /&gt;
后来经过打开apache错误日志后才知道。&lt;br /&gt;
[root@xxx httpd]# tail -f logs/error_log&lt;br /&gt;
[Mon May 09 10:46:40 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)&lt;br /&gt;
[Mon May 09 10:46:40 2011] [notice] Digest: generating secret for digest authentication &amp;#8230;&lt;br /&gt;
[Mon May 09 10:46:40 2011] [notice] Digest: done&lt;br /&gt;
[Mon May 09 10:46:40 2011] [notice] Apache/2.2.3 (&lt;a href=&quot;http://www.blags.org/tags/centos/&quot;title=&quot;centos 系统&quot; &gt;CentOS&lt;/a&gt;) configured &amp;#8212; resuming normal operations&lt;br /&gt;
[Mon May 09 10:48:15 2011] [notice] caught SIGTERM, shutting down&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;[Mon May 09 10:49:29 2011] [notice] SE&lt;a href=&quot;http://www.blags.org/tags/linux/&quot;target=&quot;_self&quot;title=&quot;linux&quot; &gt;Linux&lt;/a&gt; policy enabled; httpd running as context root:system_r:httpd_t:s0&lt;/span&gt;&lt;br /&gt;
[Mon May 09 10:49:29 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)&lt;br /&gt;
[Mon May 09 10:49:29 2011] [notice] Digest: generating secret for digest authentication &amp;#8230;&lt;br /&gt;
[Mon May 09 10:49:29 2011] [notice] Digest: done&lt;br /&gt;
[Mon May 09 10:49:30 2011] [notice] Apache/2.2.3 (CentOS) configured &amp;#8212; resuming normal operations&lt;br /&gt;
[Mon May 09 10:53:53 2011] [notice] caught SIGTERM, shutting down&lt;br /&gt;
[Mon May 09 10:53:53 2011] [notice] SELinux policy enabled; httpd running as context root:system_r:httpd_t:s0&lt;br /&gt;
[Mon May 09 10:53:53 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)&lt;br /&gt;
[Mon May 09 10:53:53 2011] [notice] Digest: generating secret for digest authentication &amp;#8230;&lt;br /&gt;
[Mon May 09 10:53:53 2011] [notice] Digest: done&lt;br /&gt;
[Mon May 09 10:53:53 2011] [notice] Apache/2.2.3 (CentOS) configured &amp;#8212; resuming normal operations&lt;/p&gt;
&lt;p&gt;其实这是因为这些系统里激活了SELinux，而用户的apache配置与SELinux的配置策略有抵触产生的，需要设置SELinux文件属性。&lt;br /&gt;
可以通过 ls -Z /dir来查看SELinux策略属性&lt;br /&gt;
exp:&lt;/p&gt;
&lt;p&gt;[root@xxx ~]# ls -Z /root/&lt;br /&gt;
-rw&amp;#8212;&amp;#8212;-  root root system_u:object_r:user_home_t    anaconda-ks.cfg&lt;br /&gt;
-rw-r&amp;#8211;r&amp;#8211;  root root root:object_r:user_home_t        install.log&lt;br /&gt;
-rw-r&amp;#8211;r&amp;#8211;  root root root:object_r:user_home_t        install.log.syslog&lt;br /&gt;
其中的“user_home_t”就是SELinux策略属性，而需要httpd能访问必须要是“httpd_user_content_t”属性。&lt;br /&gt;
执行一下命令修改你的目录属性&lt;br /&gt;
chcon -R -t httpd_user_content_t /dir/ #将/dir目录下所有文件属性设置成 “httpd_user_content_t”&lt;br /&gt;
接下来重启httpd&lt;br /&gt;
[root@xxx httpd]# service httpd restart&lt;br /&gt;
Stopping httpd:                                            [  OK  ]&lt;br /&gt;
Starting httpd:                                            [  OK  ]&lt;br /&gt;
大功告成。&lt;br /&gt;
得到一个结论，一般碰到莫名其妙的问题一定要先看错误日志，linux下大部分软件都有自己的日志，这样定位起来问题才会不花冤枉时间。&lt;/p&gt;
&lt;p&gt;当然也可以去禁止掉SELinux。&lt;br /&gt;
1.立即关闭SELinux。setenforce 0;#重启失效&lt;br /&gt;
2.修改配置文件 &lt;a href=&quot;http://www.blags.org/tags/vim/&quot;title=&quot;vim&quot; &gt;vim&lt;/a&gt; /etc/selinux/config；把SELINUX修改成&amp;#8221;enforcing&amp;#8221;&amp;#8212;&amp;gt;&amp;#8221;disable&amp;#8221;；&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/603472661/martinblog/feedsky/s.gif?r=http://www.blags.org/linux-httpd-start-error/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.blags.org/linux-httpd-start-error/feed/</wfw:commentRss><slash:comments>3</slash:comments><description>搭建了无数lamp环境今天碰到了新问题，apache说文件不存在，可是文件明明存在，又可以涨知识了。&lt;img src=&quot;http://www1.feedsky.com/t1/603472661/martinblog/feedsky/s.gif?r=http://www.blags.org/linux-httpd-start-error/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Unix&amp;Linux</category><category>linux</category><category>SELinux</category><category>centos</category><category>Apache</category><pubDate>Mon, 09 May 2011 19:31:01 +0800</pubDate><author>马丁博客</author><comments>http://www.blags.org/linux-httpd-start-error/#comments</comments><guid isPermaLink="false">http://www.blags.org/?p=661</guid><dc:creator>马丁博客</dc:creator><fs:srclink>http://www.blags.org/linux-httpd-start-error/</fs:srclink><fs:srcfeed>http://www.blags.org/feed</fs:srcfeed><fs:itemid>feedsky/martinblog/~8424826/603472661/6528631</fs:itemid></item></channel></rss>
