|
原程序在生成网址的时候,只是做了一个简单的字符过滤,说它简单吧,其实它也不简单,还循环了好多次才把不想要的字符给拿掉。说它不简单吧,本来用几个正则就可以搞定的事情,它写的那么复杂,还要定义哪些字符要拿掉。
问题就出在怎么定义要拿掉的那些字符上。原程序把键盘上可见的符号基本全输了一遍,这就算过滤了。这样行吗?当然不行啦!那些不可见的字符,0x00, 0x13, 0x19 多的去了,不可见,不可打印,输出到网页不是方块就是问号。
问号在网址里可不是乱用的,放错地方返回就是个 401 Not Found.
说到正则上,一开始我以为 \w 只包括字母数字汉字(还有其它的文字)而以,结果我错了,它还包括 下划线 _ ,以至于 [^\w-]+ 对下划下跟本不起作用。
Last Updated ( Friday, 30 July 2010 18:05 )
|
||
|
||
Page 1 of 5



