php与asp/vbscript对input表单数组的处理比较

php与asp/vbscript对input表单数组的处理比较

arrayform

啥也不用说,自己运行吧,很简单的几个小文件。

本站www.path8.net是linux主机,不能运行asp,不然倒可以在线运行代码了 ^=^

结论是,php比asp/vbs更合理,更先进,不要犹豫了,全面转战php吧!

——谨以此献给有志从asp转php、有志向自由软件(也包括开源软件)贡献一份力的同学们。

 

乱七八糟(一次聊天记录)

whoami 说:
域名目前都要通过国外主机转向,只要是国外主机的就可以。
someone 说:
哦,难道是要经过思科?检查信息是否合法然后才能上线?呵呵
whoami 说:
机房有规定,(当然其实还是朝廷的规定),服务器上开设的域名必须经过备案,否则发到后将直接关闭
所以只能把这些域名开设在国外主机上,通过国外主机跳转到我们做的专题站点上
备案可能几个月都搞不定,非常麻烦
someone 说:
哦,~~传说“朝廷”花了好多银子买相关的系统,原来是这么操作的。
呵呵,了解了好多~~谢啦~
whoami 说:
这是还不是那个传说中的G--,这一切是一大帮人,在人工检查审核的
someone 说:
呵呵,复杂。。
whoami 说:
传说中的gxx是在网络的国际接口上安装的一套设置+软件
someone 说:
哦~

百度爬虫蜘蛛ip地址表

百度蛛蛛有很多假冒user-agent的,可靠的蜘蛛ip有反向解析地址,例如

40.221.206.111.in-addr.arpa name = baiduspider-111-206-221-40.crawl.baidu.com.

分析某站点的日志,得到以下几个可靠的地址段,及抓取次数、地址数、示例ip等

subnet cral_times ip_count example
123.125.71.0 1106531 76 123.125.71.36
220.181.108.0 1101992 75 220.181.108.121
180.76.15.0 412563 60 180.76.15.145
111.206.221.0 15614 80 111.206.221.40

 

假冒蜘蛛(至少严重嫌疑)示例:113.97.50.220, 123.125.67.152, 113.99.114.197, 58.218.213.134, 114.95.226.126, 123.125.143.11, 117.177.97.16, 39.108.233.0, 27.148.157.107, 122.10.64.19, 103.29.23.132

邮箱域名的spf记录添加方法

什么是SPF
就是Sender Policy Framework。SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你的domain name的SPF记录之后,接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则 则认为是一封伪造的邮件。关于更详细的信息请参考RFC4408(http://www.ietf.org/rfc/rfc4408.txt

如何增加SPF记录
非常简单,在DNS里面添加TXT记录即可。登陆http://www.openspf.org/在里面输入你的域名,点击Begin,然后会自动得到你域名的一些相关信息。
a 你域名的A记录,一般选择yes,因为他有可能发出邮件。
mx 一般也是yes,MX服务器会有退信等。
ptr 选择no,官方建议的。

a: 有没有其他的二级域名?比如:mail.abc.com和www不在一台server上,则填入mail.abc.com。否则清空。
mx: 一般不会再有其他的mx记录了。
ip4: 你还有没有其他的ip发信?可能你的smtp服务器是独立出来的,那么就填入你的IP地址或者网段。
include: 如果有可能通过一个isp来发信,这个有自己的SPF记录,则填入这个isp的域名,比如:hichina.com
~all: 意思是除了上面的,其他的都不认可。当然是yes了。

好了,点击Continue…..
自动生成了一条SPF记录,比如abc.com的是
v=spf1 a mx ~all
并且在下面告诉你如何在你的bind里面添加一条
abc.com. IN TXT “v=spf1 a mx ~all”

加入你的bind,然后ndc reload即可。
检查一下:
dig -t txt extmail.org

如果您的域名是由万网的dns服务器进行解析的,万网的网页上没有设置TXT记录的地方,但是如果你的DNS主server是在Hichina的,可以在diy.hichina.com上设置。设置完毕后您即可以通过使用spf策略进行垃圾邮件验证了。

SPF 的 TXT 记录

SPF 记录包含在一个 TXT 记录之中,格式如下:

  v=spf1 [[pre] type [ext] ] ... [mod]

每个参数的含义如下表所示:

参数 描述
v=spf1 SPF 的版本。如果使用 Sender ID 的话,这个字段就应该是 v=spf2
pre 定义匹配时的返回值。

可能的返回值包括:

返回值 描述
+ 缺省值。在测试完成的时候表示通过。
- 表示测试失败。这个值通常是 -all,表示没有其他任何匹配发生。
~ 表示软失败,通常表示测试没有完成。
? 表示不置可否。这个值也通常在测试没有完成的时候使用。
type 定义使用的确认测试的类型。

可能的值包括:

候选值 描述
include 包含一个给定的域名的测试
以 include:domain 的形式书写。

all 终止测试序列。
比如,如果选项是 -all,那么到达这条记录也就意味着测试失败了。但是如果无法确定,可以使用"?all"来表示,这样,测试将被接受。

ip4 使用 IPv4 进行验证。
这个可以以 ip4:ipv4 或 ip4:ipv4/cidr 的形式使用。建议使用这个参数,以减少域名服务器的负荷。

ip6 使用 IPv6 进行验证。

a 使用一个域名进行验证。
这将引起对域名服务器进行一次 A RR 查询。
可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式来使用。

mx 使用 DNS MX RR 进行验证。
MX RR 定义了收信的 MTA,这可能和发信的 MTA 是不同的,这种情况基于 mx 的测试将会失败。
可以用 mx:domain, mx:domain/cidr 或 mx/cidr 这些形式进行 mx 验证。

ptr 使用域名服务器的 PTR RR 进行验证。
这时,SPF 使用 PTR RR 和反向图进行查询。如果返回的主机名位于同一个域名之内,就验证通过了。
这个参数的写法是 ptr:domain

exist 验证域名的存在性。
可以写成 exist:domain 的形式。

ext 定义对 type 的可选扩展。如果没有这个字段,那么仅使用单个记录进行问询。
mod 这是最后的类型指示,作为记录的一个修正值。

修正值 描述
redirect 重定向查询,使用给出的域名的 SPF 记录。
以 redirect=domain 的方式使用。

exp 这条记录必须是最后一条,允许给出一条定制的失败消息。

IN TXT "v=spf1 mx -all exp=getlost.example.com"

getlost IN TXT "You are not authorized to send mail for the domain"

[转]BSD差在Linux操作系统哪里/BSD与linux比较

很多人喜欢Linux操作系统,你了解Linux操作系统么?你为什么喜欢Linux操作系统呢?说到Free Software的OS,当属Linux,BSD相对来讲是冷门多了.但BSD的风评可不会比Linux差呀?那么是什么原因造成Linux比BSD更受 欢迎呢?

Linux是出现约在BSD官司缠身、以及Internet开始风行之际.Linux的开发者及爱好者正好能透过Internet实时得发布新闻、 发表新点子、提问讨论、递送程序代码及进行错误回报,这种藉由Internet的分布式合作方式带给Linux惊人的活力和无限的生命力,而经由 Internet所带来的这种活力和生命力正是Linux长久以来能和BSD分庭抗礼的主要原因之一.
Linus Torvalds的管理哲学:

也许LinusTorvalds并不是像BillJoy(BSD的开创者)那样是个天纵英才的程序设计师,但他无疑的是超一流的领导者.要知道,能 参与LinuxKernel开发的往往都不是什么泛泛之辈,Linus如何在这些天资聪颖的计算机怪才之间折冲樽俎是非常耐人寻味的.

硬件支持:
在Linux现身之时,刚好是人们开始买得起个人计算机时.但糟糕的是,当时的BSD对于当 时的个人计算机所使用的80386硬件的支持度并不好,而一般老百姓应该不太会为了玩BSD而特地购买高价的服务器设备,因此人们,尤其是穷苦的大学生, 若要玩Unix时只有Linux可供选择,相对来说BSD的吸引力当然就大不如Linux了.不过说起硬件支持,其实Linux和BSD也只是难兄难 弟,Linux是较佳,但有些太新太特殊及特定制造商的硬件Linux还是无法支持!

GNU的大力支援
GNU提供了一个操作系统所需的各式各样必要组件,但最重要的组件-Kernel却迟 迟没有着落.原本计划好要成为GNU官方Kernel的HURD的发展一直很不顺利,而Linux的出现就刚好出现填补了GNU这个拼图上最重要的一个大 洞.另外,虽然GNU的软件质量是毋庸置疑,但BSD却希望他们的开发团队所维护的核心工具都能以BSDL发行,所以因为授权兼容性的关系,很多GNU软 件就被BSD的人们摒除在外了.因此喜爱GNU软件的人们除了Linux之外就似乎别无选择了.Linux和GNU是分不开的:没有GNU,那么没有任何 工具程序的Linux根本无用武之地;而没了Linux,GNU软件就少了一个可以尽情发挥的舞台了.因此,个人可以接受人们说Linux的全名应该是 GNU/Linux.若我们仔细想想Linux的发展成长过程,个人认为如此称呼并不为过.

而Linus也说过其实他并不是很反对GNU/Linux这个名字,饮水思源,毕竟Linux的确是藉助了GNU太多的核心工具才有今天的成就.若 当时没有GNU计划,那么Linux根本不会出现在这个世界上:当初Linux0.0.1发表时,Linus就只完成了以下功能:可用GCC编译,然后它 能做的也只有执行BASH这个Shell而已,而这2个工具恰巧都是GNU的作品.我们可以看到,Linux刚开始就和GNU结下不解之缘了.

教堂与市集:
BSD走的是教堂式的学院派路线,而Linux则是代表了市集式的骇客精神;

多样的版本:
Linux的松散结构也反应在Linux的发行版上.因为Linux并没有什么官方发行版,所以任何人只要有兴趣有能力,都可以自行发行Linux,这使得我们能轻易得在Internet上找到超过200种以上的Linux发行版,而实际数字恐怕远不止如此.

商业公司的支持:
若说Linux为什么能快速得进入商用市场,我想RedHat的成立应该是一个关键性 的因素.对于大型企业而言,或许授权费用的多寡并不是重点,他们要的是能够说服上司及股东的解决方案.透过RedHat所提供的技术支持,信息部门也比较 敢将Linux列入解决方案之中.这项优势是没什么商业支持的BSD所难以匹敌的.

媒体的推波助澜:
若说到自由软件界的代表人物,我想人们脑海中会浮现的名单应该少不了 RichardM.Stallman、EricS.Raymond及LinusTorvalds这几位指标性人物.RichardM.Stallman是 公认的自由软件界的精神领袖,他的意见对于GNU还是具有一定的影响力.EricSteven Raymond则是黑客文化的传道士,他发表了不少像是《教堂与市集》、《提问的智慧》之类对黑客文化影响深远的文章.而Linus Torvalds则是Linux Kernel项目领导人.这几位指标人物彼此之间似乎总是意见不合,但他们却有一个共通点-他们都是Linux的拥护者.

也就是说,当几位自由软件界的代表人物都在努力为Linux宣传的同时,BSD自然从人们的雷达范围中消失了.不管BSD再怎么棒,但人们不晓得的话也是罔然.

GPLvs.BSDL:
RichardM.Stallman之所以是自由软件界的精神领袖,除了他发起 了GNU计划之外,个人认为他为了GNU而撰写的GPL更是决定性的因素.GPL是一种偏向于开发者的回馈条款:使用者可以自由运用GPL程序代码,但所 有修改必须也以GPL开放,让所有人(包括原始程序设计者)都能受益.这是能确保程序代码永远能让所有人自由使用的终极手段.相较之下,BSDL应该是偏 于使用者的一种无偿授权:使用者如何自由运用这些程序代码,程序设计师无权置喙,只要宣告这个软件是BSDL授权即可.因此,BSDL的软件可能有一天会 变成封闭软件,像Microsoft在Windows 2000核心里就采用了一些来自BSD的网络组件,但BSD的人们却没有因而受惠.Microsoft并没有必要回馈那些修改后的程序代码.

软件的支持:
也许这是互为因果关系,因为BSD家族的市占率比Linux低多了,BSD的开发者也相对 较少,因此有不少缺乏资源的开放原始码软件就没有多余的心力能放在BSD上,这导致很多软件对BSD的支持度就没Linux那么好了.以Free BSD为例好了.FreeBSD是针对i386硬件而开发的BSD分支,长久以来Free BSD在功能、稳定、安全、效能等各方面的表现颇受好评,您可以在Google上找到一篇"Yahoo! and FreeBSD"以为佐证.

通过本文你就了解了Linux操作系统比BSD更受到人们的欢迎了。

linux下PHP 激活mbstring扩展及php.ini中相关基本设置

从源码编译安装php,重新编译php,configure参数中加入 --enable-mbstring,如下所示,

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql\
 --with-apxs=/usr/local/apache/bin/apxs  --with-config-file-path=/usr/local/apache/conf --enable-mbstring

[注] 其它configure参数按你的php相关路径进行配置

redhat/centOS/fedora系列使用yum在线安装

sudo yum install php-mbstring
sudo /sbin/service httpd restart

Mac下可以如下进行

sudo port install php5-mbstring
apachectl restart

php程序中的编码转换

在php中解决字符编码转换,可以编写自定义的php函数进行字符编码解码,但是对性能有一定影响,并且要针对每种字符编码编写专用的函数; 这里介绍在php中有简便易用的专用函数:

1.使用iconv函数转换字符编码,该函数仅能在PHP4.0.5以上版本或PHP5.x版本使用,具体用法如下:

$string=iconv(原字符编码, 字符输出编码, $string);

例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。

echo iconv("uft-8", "gbk", "php编码转换");

在实际使用中,iconv函数在转换时存在一点小bug,在转换字符串中含有"—"时会出错,导致字符串无法转换,使用//IGNORE参数可以忽略转换中的字符错误,样例如下:

echo iconv("uft-8", "gbk//IGNORE", "php编码转换");

2.使用mb_convert_encoding函数,该函数仅能在PHP4.0.6以上版本或PHP5.x版本使用,使用之前必须enable mbstring,具体用法如下:

$string=mb_convert_encoding($string, 字符输出编码, 原字符编码);

例如:网页使用gbk编码,字符串使用utf-8编码,将字符转换为网页显示编码。

echo mb_convert_encoding("php编码转换", "gbk", "utf-8");

windows下mbstring安装配置请参看这里 windows下PHP 激活mbstring扩展及php.ini中相关基本设置

总结:推荐使用mb_convert_encoding函数,该函数无iconv转换字符错误问题。

华硕A8笔记本(ati x2300显卡)linux 2.6.33/fedora13显示花屏闪烁

07年底购买的笔记本电脑,华硕A8,ATI x2300独立显卡,从一开始就是多系统,linux当然是必装的,最近默认启动系统已经改成linux了。

大概是从redhat9开始了解linux的原因,对fedora比较好感,从fedora8一直安装到现在最新的fedora13。但fedora12 yum更新,安装过linux 2.6.33内核以后,一启动,还没有进入图形界面就花屏,闪烁个没完。估计是某个驱动与显卡不兼容所致,但并不知道具体是哪个驱动所致,才疏学浅,对linux只限于入门使用。于是fedora12后来的升级,升级后,修改grub,启用之前的2.6.31版的内核。曾经自己编译了一次linux 2.6.33 的内核,但照样是花屏,这问题就不再理会。

fedora13出来了,因为默认是新版本内核,感觉很可能会花屏的,于是一个月都没有下载安装。前些天下载安装到上网本上,感觉跟之前版本改变还是不小的,图形界面好像更细腻一点,firefox F11全屏功能也正常了(fedora12里F11不能真正全屏,仅仅是隐藏菜单,工具栏什么的都没有隐藏)。试了试,果然,一进入fedora13安装过程,就是花屏闪烁。如此安装运行时,一定花屏的。

突发奇想是否可以硬安装f13,然后把fedora12里的内核安装上去,rpm包可以用zip解压缩的,把解压出来的内核文件,驱动文件拷到相应目录下,这样是否可以正常呢?甚至fedora12的rpm可以直接在fedora13里安装?

于是试试,在一直闪烁的屏幕前安装linux,实在不很舒服,眼花。只选一少部分比较重要的包,这样速度比较快,安装完就可以更快的测试旧版本内核的安装。

终于在闪烁中完成了fedora的安装(全新安装),从fedora12里的/Packages/解压出kernel-2.6.31.5-127.fc12.i686.rpm,sa切换到root用户,rpm -ivh kernel-2.6.31.5-127.fc12.i686.rpm。

安装完成后,奇迹还真出现了。重启电脑,选择刚安装的kernel,目录都是好的。

Pages: Prev 1 2 3 ... 4 5 6 7 8 9 10 11 12 13 14 Next