Bin 的个人资料标准(Standard)日志列表 工具 帮助

日志


2005/8/17

忙呼了几天,终于解决多国语言乱码的编码问题

open  方法打开文本文件经常遇到乱码问题,今天俺尝试打开一法文文本 和 英文文本,notepad 中出现问题,后来在 CSDN 重赏,竟然无人能解决.,查了两天,也无结果.无意中在 microsoft msdn 新闻组中发现 adodb.stream 在上传下载中可以进行 charset , 正合吾意, 马上试试,果然成功.

不要用 StrConv(InputB$(LOF(hFile), #hFile), vbUnicode) 这种方式来解决问题,因为你打开的文本编码是不确定的,另外还存在大容量文本的问题.

现归纳成如下函数,该函数能解决由于 utf-8,unicode,ansi,..... 等任何已知编码出现的乱码问题.

 
'http://spaces.msn.com/members/standardtrip
Function UTFDecode(filePathName As String, writeCode As String, readCode As String) As String
    Dim adoSd As ADODB.Stream
    Set adoSd = New ADODB.Stream
'   adoSd.Mode = adModeRecursive
    adoSd.Type = adTypeText
    adoSd.Open
    adoSd.Charset = writeCode 'UTF-8
    
    adoSd.LoadFromFile filePathName
    adoSd.Position = 0
    adoSd.Charset = readCode 'gb2312
    UTFDecode = adoSd.ReadText
    adoSd.Close
    Set adoSd = Nothing
End Function
 
好东西要共享,转载请注明出处.
 
2005/8/4

ArcPad发布7 .1测试版,有些激动

       在ArcPad Studio 6 上面进行二次开发是比较痛苦的,但是其开发功能实在不敢恭维。虽然只是一些简单的 Script 脚本,但面对凌乱的结构,和巨多的Object Model Reference 和 XML Reference , 仅仅靠三个输入面板来完成复杂的项目已经很吃力。
希望 7.1在9月份能给我惊喜。
 
再来看看这些新特性吧

支持的数据格式
矢量格式:SHP files、ESRI graphic layers。
栅格格式:TIFF、JPEG2000、MrSID (MG2)、JPEG、PNG、BMP、GIF等。
 
桌面操作系统
Windows XP, Tablet PC Edition, Win 2000。
移动操作系统
Windows Mobile 和CE(将支持在Windows Mobile 5下运行,但不确定具体时间。
 
工具集&功能集
ArcGIS中的ArcPad工具条
提供识别、查询、量算、超链接、漫游、缩放、地图旋转、用户化定制等工具。
支持ArcGIS符号、线型,复杂线型,透明填充样式,提供样式表
支持多线放置标签
可以通过使用输入笔、GPS以及坐标转换创建和编辑数据
编辑工具:对齐、撤消、插入、添加、移动、旋转、设置比例、调整尺寸、偏移、重复属性,以及添加野外作业草图及注记。
 
GPS支持
国家海洋电子协会(NMEA)
Trimble标准界面方案(TSIP)
Rockwell 精密光学GPS接收机(PLGR) GPS二进制方案
DeLorme Earthmate二进制方案
还支持Laser Atlanta、LaserCraf、Laser Technology、MDL、Leica提供的定位工具。
 
数码摄像支持
目前只支持两种数码系列---- HP iPaq rx37xx和and h63xx series。
 
 
总的来说,ESRI推出ArcPad 7还是令人振奋的! 因其用户化定制功能相当简便,工作者不但可以在办公室利用支持工具和辅助程序进行开发设计,还可以根据需要在野外直接设置。加之用户界面简单易学,初学者可以迅速掌握并很快开展工作。但是,因其不支持MsSID MG3,提供的数码摄像支持不够多,以及更新周期较长等,想必销售量会因此而受到一定影响。
2005/7/11

Gmail 邀请

请将常用的电子邮件跟贴如下,目前只有50个邀请。
2005/6/12

数据挖掘、分析和搜索引擎开发之借鉴Google Hacks

一直在进行的数据挖掘工具仍然在缓慢地进行中,其原因是新的蜘蛛、机器人总是能给人带来一些新思路。大名鼎鼎的Google终于有 Hacker 归纳总结了其开源的API精华。在今天的晨报中,有一篇文章摘要了关于Google在纽约的应用,说是一个爱好者把当天的所有犯罪记录在Google地图上进行标记,方便出行的人参考。图行天下(www.go2map.com)公司以前有开发该功能,实际上是MapInfo有该功能,当时在进行Esri IMS开发的时候就有参考,其实技术已经早在4、5年前已经实现了,对于我这样一个低端程序员都可以进行的工作,直到今天才在美国公众领域真正应用。有点对生活有所向往而非技术了。

在Baidu、Google搜索了一下GoogleHacks,果然找到不少文档,可惜是英文版的文档,看来要好好肯肯了,比较痛恨自己英语差。他们是这样说的。
you'll need your own Google key. You can get it at Google for free and you'll need it at other sites with Google hacks too.

关于开发第一个旅游搜索引擎是很早的想法了,之前做了个小型的蜘蛛,由于对底层不熟悉,VB的效率并不是很高,Google Hacks 开源的API希望能带来一些新启发。

看来这个工作并不是那么轻松,继续奋斗ing...

2005/6/8

Spread 7以及大容量数据库性能问题

一直觉得Spread 7在数据控件方面有着各种轻、中量级DataGrid优越性,今天测试了一下大容量装载(才3万条数据),发现CPU在ADO的该次操作占据全部百分比。不禁一身冷汗,因为我的两个还未完成的软件都是使用该控件。Spread 7的中文资料在这方面几乎没有,英文资料找了一部分,没有介绍。今天继续求解中,希望可以通过ADO自身的优化来解决或者类似PB中的拖动滑动条的时候动态分页。

去到FarPoint Technologies 官网论坛,暂时还没有回音。http://www.clubfarpoint.com/Forums/ShowPost.aspx?PostID=20622

在CSDN逛了一圈,VB版看到
http://blog.csdn.net/online/archive/2004/08/05/66417.aspx?Pending=true 的文章调试了一下,问题不小。

后来去了数据库版,终于解决问题了,又是 [马可]。一般来说要用分页数据量都比较大,如果使用下列两句
SELECT Top 100 * FROM tripCompany WHERE cmpID NOT IN (SELECT TOP 100 cmpID from tripCompany )

strSQL = "SELECT TOP 30 cmpID From (SELECT TOP " & iCurPage * 30 & " cmpID from tripCompany) DERIVEDTBL  ORDER BY cmpID desc;"

第二个 top 100 可以是 top 200, top 300 依此类推,速度将明显提高,支持大容量数据,海量数据库查询仍待研究。

还有adopenstatic,等的设置也起到一部分作用。关于该性能方面的设置可以参考(Fantasy的博客)ADO性能方面的介绍 http://wubinjn.blogchina.com/810434.html 

2005/5/28

又是一个通宵,关于ReOrder Point

       终于把第一个国产海鲜管理系统(到目前为止在百度&Google找不到海鲜管理系统)做了个框架,不知道客户会怎么提意见。anyway,这个晚上还是没有白费,为了一个reorder point(重订购点)问了很多英语网友,感谢 testimonial 给了我很多关于 reorder point的解释,虽然她说的全部是英语。最后还是google帮了大忙。其实reorder point 相当于以前做库存管理时候的库存预警之类的东东。

2005/5/27

几个常用的VB资源站点

 

2005/5/23

ASP历遍XML节点与字节点之简单法则

已经是临晨了,看了一下 lovingkiss的专栏 文章,写的很不错,其中XML做XP菜单分隔用的是HTC+CSS+XML写的,http://blog.csdn.net/lovingkiss/archive/2005/02/03/278650.aspx ,非常不错,现取其精华归纳成ASP代码如下:

y.asp

<% 
set objXML = server.createobject("microsoft.xmldom") 
objxml.load(server.mappath("y.xml")) 
if objxml.readyState = 4 then

Set Root = objxml.getElementsByTagName("item")
'Response.Write  Root.length'菜单个数

For i=0 To Root.length-1'读取一级子菜单
Response.Write Root(i).getAttribute("name")'属性name

If Root(i).childNodes.length>0 Then
'response.write "拥有子节点" 'Root(II).getAttribute("sub")
ReadChildItem(Root(i))
end if

Response.Write "<br>"
Next

else
response.write "加载XML文件失败"
end if

sub ReadChildItem(ParentNode)'读取子节点函数

For j=0 To ParentNode.childNodes.length-1

'response.write "["&ParentNode.childNodes.length-1&"]"
response.write "["& ParentNode.childNodes(j).getAttribute("name") &"]"
'If ParentNode.childNodes(j).getAttribute("name") <> "-" Then
'If ParentNode.childNodes(j).childNodes.length=0 Then
'ParentNode.childNodes(j).getAttribute("name")
'If Not IsNull(ParentNode.childNodes(j).getAttribute("name")) then Response.Write ParentNode.childNodes(j).getAttribute("name")

next

end sub
%>

y.xml
<?xml version="1.0" encoding="gb2312"?>
<data>
<item name="a" value="1" />
<item name="b" value="2">
     <sub name="xx" url="u1" />
</item>
<item name="c" value="3">
     <sub name="cxx1" url="u1">sub1</sub>
     <sub name="cxx1" url="u1">sub2</sub>
     <sub name="cxx2" url="u1" />
</item>
 <item name="d" value="4" />
</data>

net 平台的时代还有必要学VB6吗?

今天一程序员在CSDN于是说 “net 平台的时代还有必要学VB6吗?”

软件在于应用,不管什么年代,只要东西够用,那就不会被淘汰。就像竹筷子一样,n年前就有了,现在都有了筷子.Net2001版,筷子.Net2002版,筷子.Net2003版,筷子.Net2005版,有合成材料的筷子,有不锈钢筷子,等等。但是,我们还是会用竹筷子啊,为什么,道理是一样的。东西会不会淘汰,不是由哪个厂商来决定的,厂商要做的事情就是不断更新版本赚钱。我们要作的是保值现有的东西去赚钱。新的不一定就是最合适的,要看它适不适应市场。市场是检验产品的唯一手段。

2005/5/22

搜索引擎用法一点经验

Baidu

  1. 网际快车 site:skycn.com
  2. 姓名 身高 intitle:林青霞
  3. dreamweaver inurl:jiqiao
  4. 霍金 黑洞 filetype:pdf

Google

  1. 搜索网站数据库:allinurl: admin mdb
  2. 搜索网络摄像头:intitle:"Browser Launch Page"
  3. 搜索网络图书(FILETYPE可以更换):filetype:lit lit (books¦ebooks)
  4. 搜索frontpage密码文件:ext:pwd inurl:(service ¦ authors ¦ administrators ¦ users) "# -FrontPage-"
  5. 搜索施乐复印机用户默认共享页面:intitle:"DocuShare" inurl:"docushare/dsweb/" -faq -gov -edu
  6. 搜索FTP CLIENT生成的用户信息文件:"index of/" "ws_ftp.ini" "parent directory"
  7. 搜索plog注册文件(现在用的很普遍的一套PHP博客程序,在其安装说明中明确说明希望用户安装后删除register.php文件,否则...): inurl:"plog/register.php"
  8. 查看相近的网页:related:http://spaces.msn.com/members/standardtrip/PersonalSpace.aspx?_c11_BlogPart_blogpart=blogentry
     
2005/5/20

在聊的一些关于防范注入的心得。

有时候聊天不仅是为了表达自己的看法,而且也是一种自我学习的方法。


太无知:jon,你对php注入怎么样?
太无知:我找到个防御不彻底的php注入点,不能用工具,麻烦~~
木瓜(129071) 07:43:21
早啊,怎么现在专搞这些玩意。
太无知:学东西啊
木瓜(129071) 07:44:43
现在很多真正有价值的网站都会打上注入补丁,要么在程序里面要么在数据库里面
木瓜(129071) 07:45:11
学注入还不如去csdn多跟皱建他们学点pl3的东西。
太无知:什么是pl3?
太无知:perl3?
木瓜(129071) 07:45:55
sql 啊。你不是要学注入吗? 各种数据库系统的通用规范阿。
xiaolu(50446) 07:43:03
找邹建没用
xiaolu(50446) 07:43:12
他写的程序照样很多注入
太无知:………………
太无知:好多高级注入技术哦
xiaolu(50446) 07:43:40
低级的注入
xiaolu(50446) 07:44:07
邹建写的程序连过滤都没有
太无知:…………
tab替换空格这样的?
xiaolu(50446) 07:44:15
sql语句熟悉有什么用
木瓜(129071) 07:47:40
我无语。我以为皱建是顶尖的sql高手了。
zOliverz(790526) 07:44:38
这是程序架构的缺陷,如果三层架构,数据层全部封装的,基本上很难注入
xiaolu(50446) 07:44:44
安全需要很多方面结合
木瓜(129071) 07:48:15
是的。
太无知:数据库再好,他没搞过注入怎么知道得这么多啊
xiaolu(50446) 07:45:02
封装也有入口啊
xiaolu(50446) 07:45:11
一切输入都是有害的
木瓜(129071) 07:48:36
不会吧。举例呢。
木瓜(129071) 07:49:03
封装也有入口吗?
太无知:是啊
xiaolu(50446) 07:45:53
你就知道为什么sql2000为啥要出sp4就行了
木瓜(129071) 07:49:35
阿,什么时候有sp4 了,不是 sp3 a 吗??
zOliverz(790526) 07:46:21
有sp4了
zOliverz(790526) 07:46:25
有溢出
xiaolu(50446) 07:46:38

木瓜(129071) 07:50:08
我去看看先,今天工作看来是要狂打补丁了。
太无知:sp4还有溢出?
Brahacker(79978) 07:47:02

木瓜(129071) 07:56:19
在进行注入的时候你们一般会输入“,';(”等asc2段为非字母数字段 对吗? 我一般是把所有 post,get 过来的这些符号he select,update,delete,insert from 替换 gbk的全角字符,并且将post,get。这样还会有漏洞吗?
木瓜(129071) 07:57:41

xiaolu(50446) 07:54:24
cookie呢 user-agent呢

木瓜(129071) 07:58:10
我不用 cookie 的,这玩意不能跨服务器。
太无知:有免'注入方法的
木瓜(129071) 07:58:51
user-agent 在 服务器端修改了。==,你说的user-agent
木瓜(129071) 08:00:54
我也把sql的关键词转换成了全角啊。除此之外呢?
木瓜(129071) 08:01:13
只要是英文,都是全角,所以全部是字符串
木瓜(129071) 08:02:10
显示的时候再用脚本变成半角
xiaolu(50446) 07:59:02

Brahacker(79978) 07:59:11

xiaolu(50446) 07:59:32
狠毒
木瓜(129071) 08:02:56
怎么啦。
木瓜(129071) 08:03:44
不知道还有其他漏洞没有。
太无知:这招够狠哦
木瓜(129071) 08:06:29
对于开发国际版本的,就用一个简单的替换程序。因为老外机器/服务器里面没有汉字。 把所有a,b,c全部打乱存到数据库,前台同样用24行简单的javascript替换。这种方法很简单,但是我周围好像都没有人这么做。
木瓜(129071) 08:06:43
我不知道还有其他漏洞没有。
xiaolu(50446) 08:04:13
如果别人看了你的js 杂办呢
xiaolu(50446) 08:04:43
国外的没全角啊
木瓜(129071) 08:08:46
看了没用阿。
太无知:为什么要用JS呢?
xiaolu(50446) 08:05:52
知道你怎么编码了 就有用了
xiaolu(50446) 08:06:03
不过这也够费时费力的
太无知:可以写工具
太无知:
xiaolu(50446) 08:06:28
写个组件来作
太无知:其实一个函数就搞定了,简单的可逆加密而已
木瓜(129071) 08:10:25
有些脚本程序、服务器没有类似jsp/asp那么方便,没有组件
xiaolu(50446) 08:07:22
这太费资源了
木瓜(129071) 08:11:06
不会费资源。
太无知:不会吧,简单的字符映射就行了啊
xiaolu(50446) 08:08:01
会的
xiaolu(50446) 08:08:07
你这是全部处理

xiaolu(50446) 08:08:29
过滤只是处理输入 不用处理输出
太无知:
木瓜(129071) 08:12:38
javascript 只在客户端执行。 至于服务器端就不用考虑那么多了。 没有太多的影响,至少目前。
xiaolu(50446) 08:09:24

太无知:没这么复杂啊,输入和输出是对于数据库来说就行了
xiaolu(50446) 08:09:41
那数据量大了 ie岂不经常挂掉
木瓜(129071) 08:14:00
什么数据量大呢,怎么算大啊。你看看微软的msdn 那些页面,不吓死你才怪 呢。
木瓜(129071) 08:14:08
几千行脚本
太无知:只是查询条件字段才这样搞的啊,会有多大量?不需要
木瓜(129071) 08:15:38
太无知,你刚才不是说皱建的也有漏洞? 他有 sql 自身方防注入的 自定义函数&存储过程,我记得好像有,不过没有用过,找找先。
太无知:怎么防啊,只调用存储过程?
xiaolu(50446) 08:13:18
利用本身的函数
木瓜(129071) 08:17:07
我没有仔细看过,好像是,==,我再去看看。
太无知:asp<--->(检测注入)sql?

太无知:这样asp的数据库查询能力不就打折扣了吗
木瓜(129071) 08:18:31
不是啊,是纯粹的sql server,至于sbase,db2,...之类的就用的少了。
木瓜(129071) 08:20:09
怎么会那,在程序里面就过滤了,
太无知:他有 sql 自身方防注入的 自定义函数&存储过程
太无知:这些东西是在sql server里做的吧
木瓜(129071) 08:20:47
我记得以前皱建数的是,进入sql执行层的时候是,在sql执行之前判断是否注入,再执行查询语句。
木瓜(129071) 08:21:09
你也用紫光拼音?
太无知:我copy的你的
太无知:kick
木瓜(129071) 08:21:52

xiaolu(50446) 08:18:57
刚才你说那个全角的问题
比如
xx.asp?str=abc 这样的你怎么处理的呢
木瓜(129071) 08:22:24
开了很多程序,好慢啊。
木瓜(129071) 08:22:51
这样吗?木瓜(129071) 07:56:19
在进行注入的时候你们一般会输入“,';(”等asc2段为非字母数字段 对吗? 我一般是把所有 post,get 过来的这些符号he select,update,delete,insert from 替换 gbk的全角字符,并且将post,get。这样还会有漏洞吗?

太无知:那样的话asp就不能用子句查询了,那还不如让厂商发布个补丁,把sql能被注入的查询都去掉~~
木瓜(129071) 08:23:21
这里是屏蔽非数字&字母
木瓜(129071) 08:24:13
一般是 再加一个 cint() / int()
木瓜(129071) 08:24:30
不知道还有没有。
木瓜(129071) 08:24:59
再说,你也知道,现在地程序,我都很少直接做链接了。
木瓜(129071) 08:25:38
所有页面 Must ,必须必须 提交。做脚本,这样不仅减少代码量,而且安全。 以前不懂事的时候就直接 链。
木瓜(129071) 08:26:11
还有其他漏洞吗? 很想&你们沟通呢,因为俺吃过大亏。
木瓜(129071) 08:27:38
xiaolu, http://www.microsoft.com/china/sql/downloads/default.asp 没有sp4啊,你说的是sql 7.0的sp4吧。 2k的只有sp3a
xiaolu(50446) 08:26:35
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
木瓜(129071) 08:31:38
现在机器好慢ing... =
木瓜(129071) 08:32:28
thank you!!
xiaolu(50446) 08:29:40
不客气
木瓜(129071) 08:33:21

木瓜(129071) 08:34:51
This issue only impacts computers with more than two gigabytes (2 GB) of memory where AWE has been explicitly enabled. If you have this configuration, you should not install SP4.
木瓜(129071) 08:35:07
有些机器不要打,我继续看ing...
xiaolu(50446) 08:32:26
我倒 你看英文的
木瓜(129071) 08:37:39
一般要仔细看两三遍才明白
太无知:
还是我厉害,我看一遍就明白了
太无知:他的意思是“你看不懂的”
木瓜(129071) 08:38:27

木瓜(129071) 08:39:20
我这里英文打开快一些,原来你给我的地址是中文的。呵呵。现在看中文方便多了。
太无知:………………
xiaolu(50446) 08:37:06

xiaolu(50446) 08:37:36

太无知:这图片做得好啊