2
昨天在处理POS客户端时发现的现象,本来以为是Windows 2003上的ISA防火墙作怪,在防火墙上配置好相应端口后(主要是开放MSSQL远程访问的端口),连接,无法连接,客户端上打开查询分析器尝试连接,显示错误消息是“不存在或者拒绝访问”,在服务器上运行查询分析器,正常。并且服务器端依赖SQL 2000的应用程序也运行正常。防火墙日志也没显示拦截了什么东西,但是在事件查看器里发现了问题所在
您运行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也称为 MSDE) 和 Microsoft Windows Server 2003 家族使用时存在已知的 安全弱点。为了减少计算机被某些病毒的攻击,Microsoft SQL Server 2000,MSDE 或 两者的 TCP/IP 和 UDP 网络端口被禁用。要启用这些端口,您必须从 http://www.microsoft.com/sql/downloads/default.asp 或 http://www.microsoft.com/china/sql/downloads/default.asp 安装一个修补程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服务包。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持
刚刚从cnBeta上看到了Ubuntu 8.10的发布,庆祝一下,最近准备研究一下Ubuntu的服务器版,其服务器版依然上手很容易,配置LAMP(Linux + Apache + MySQL + PHP)环境比较轻松。根据提示很容易就弄好了,下面想用其来运行PHP,准备学习下PHP,当然ASP.NET还是要看的,下一阶段的网站部署可能就需要她了。
本来机器装有Windows Server 2008,所以Linux服务器版主要通过VMWare Workstation来虚拟了,通过虚拟机安装Ubuntu Server并配置好LAMP,输入虚拟机的IP,访问,成功!证明Apache是运行起来了,但是我如何将主机上的PHP程序复制到虚拟机上运行呢?我本想通过共享的方式,当然这个比较复杂,突然想起可以让虚拟机使用FTP服务端,主机使用FTP客户端上传文件到虚拟机中,这样就方便多了。到网上看了下,于是配置了vsFtp。
安装命令:sudo apt-get install vsftpd
27
最近在安装一台EPSON TM-U220PD针式打印机,用于打印零售小票,本来以为安装会很顺利,谁知道遇到了问题。线路全部接好了,这里我就发现机器并没有找到新硬件,也没去管它,装上驱动(本及同系列驱动下载地址),选的是TM-U220D。安装成功。
打开记事本,选打印,出现打印状态,但打印机一直未动。只好取消这次打印作业。我怀疑是数据线的问题,取下数据线,接到另外一台计算机上,正常。莫非是机器问题,于是我又找了台新机器,接上另外一根数据线,安装驱动,测试打印,正常!
我想换台机器吧,不过问题还是没有解决,还是那个问题,这就奇怪了,同样的机器,只是地点不同!
24
安装环境为Ubuntu 8.04
首先到锐捷官方网站上,下载Supplicant For Linux V1.1.1.rar,然后解压得到xrgsu可执行文件,执行sudo cp xrgsu /usr/bin将xrgsu拷贝到/usr/bin目录下,然后执行sudo chmod 777 /usr/bin/xrgsu赋予相应权限。
执行sudo xrgsu -d出现错误,说的是缺少libpcap.so.0.6.2和libstdc++.so.5库文件,这时我们需要下载这些库,并且使用sudo cp libpcap.so.0.6.2 /usr/lib和sudo cp libstdc++.so.5 /usr/lib将其复制到/usr/lib下。再次运行sudo xrgsu -d,填入帐号密码,使用默认Default,连接,成功!
15
我们在用VC++编写Windows程序的时候可能会发现一般可执行体(.EXE)的文件体积都比较大,于是非常羡慕那些使用Win32汇编编写程序的人,因为他们编写的可执行文件非常小。其实应用程序的体积是一方面,另外应用程序的部署环境则是需要注意的另一方面,这方面我深有体会,曾经使用Visual Studio 2008编译过一个C++的Win32程序,本地测试正常,但是部署到客户机时,出现缺少什么动态库,于是还要安装Visual C++ 2008可再发行组件包(Visual C++ 2005 Redistributable Package),这给软件部署带来了一定的麻烦,另外对于一个功能比较简单的程序,安装如此的组件包,可能心里会不好受,我们希望对于一些比较简单的应用程序可以直接调用系统提供的API,从而降低部署程序的复杂度。
其实对于VC++我们可以采用忽略所有默认库的方式避免编译器引入不必要的动态链接库,当然你可以使用如下的预编译宏。
实际上,我们还需要在属性的 连接器->清单文件 将 生成清单 改为 否;然后选择 清单工具->输入和输出 将嵌入清单改为否;在C/C++中选择代码生成将缓冲区安全检查改为否(/GS-),否则编译会出现一个错误,设定程序的主入口点。注意上述配置一般在Release下,生成文件也在Release下编译链接,Debug可能无法使用,如果需要防止Debug模式编译,可以使用如下宏命令:
12
听说Fedora 10将会实现类似于Ubuntu的Wubi安装,于是我花了很长时间下载了Fedora 10 Beta版,准备把笔记本上那个Ubuntu给换掉,至于为什么换,我说不出来,个人感觉Fedora比Ubuntu顺手吧,下载很慢,让我不由得想起了前一段时间网友评选蜗牛作为中国互联网的代言人的事情,好不容易下载完毕,虚拟机上一测试,没有找到这个安装方案,我很失望,可能是Beta版的缘故吧,于是我还在继续等待正式版的发布。
至于为什么还在保留Windows,这也是没办法的事情,学习和工作的需要,你说Linux有Windows下.NET平台吗?(不过似乎听说已经有类似的Linux的.NET实现),上课老师讲的是MSSQL,Visual Studio等一堆Windows下的开发工具,而且目前我在Linux下找的集成开发环境(IDE)都没有Windows下的Visual Studio用得顺手,看来这种Linux和Windows并存的状态还要持续一段时间。
最近在设想个Web服务器架构,决定采用Linux+Nginx+SQLite+PHP,做一些轻量级的网站。顺便看看传说中的Nginx的速度。
30
大概是一个月前的事情了,主要是一个VPN解决方案,服务器配置是Windows 2003 + ISA 2006,单网卡连接路由上网,设置好路由并通过ISA的配置顺利启用了PPTP的VPN,通过客户端ADSL拨号,成功连接,本来以为事情这样就结束了,事实上问题还没有解决。在另外一个客户端中启用连接,停留在验证用户名和密码阶段,然后就发生错误,详细如下:
错误 721 : 远程计算机没反应。我发现两个客户端就是网络环境不同,这个客户端位于一个局域网中。有问题百度一下,有个解决方案就是修改注册表的,本来以为可以轻松解决这个问题的,但我又想错了,我开始怀疑是这个客户端所在局域网搞的鬼。实际上通过服务器的防火墙监视发现,服务器已经启用了该PPTP连接,但事实上有个数据包不能正常抵达客户端,所以造成这个错误。进一步上网查询,得知这个数据包很有可能是GRE协议,这个协议由于客户端局域网的限制未能正常抵达,所以造成这个错误。本来以为这是个个别现象,回到学校,使用校园网,于是我又尝试连接VPN,一样的错误!回家后使用ADSL上网,连接该VPN,一切正常。断开后启用虚拟机,打开一个虚拟的Windows XP系统,建立VPN连接,拨号,同样的错误!于是我想貌似通常的局域网内部机器都不能正常拨号,若要想正常拨号就必须要去修改局域网配置!但一般修改自己局域网配置是可以的但是修改别人的局域网配置就难了。这个问题困扰了我很多天。
我在PPTP连接上越陷越深,偶然的一次看到某论坛上一位朋友遇到和我一样的问题,据他说使用L2TP可以实现内网访问VPN,我似乎看到了救命稻草,于是我便开始配置ISA的L2TP访问,但有个问题是L2TP必须使用IPSec然后就是什么证书的,比较麻烦,幸好捷径还是有的,IPSec可以预共享密钥。
13
随机字符串的应用还是比较广泛的,比如随机的窗体标题(防止被FindWindow),随机的加密密匙,用户注册的随机密码等等。
实现一个随机字符串,很多朋友可能会想到标准的C/C++头文件提供的库函数,但是这通常是需要引入C/C++运行时支持库的,有时在做一个纯Win32 API的程序肯定要考虑程序代码的通用以及较小的体积的问题,下面我用代码说明一下如何使用本地的CryptoAPI实现随机字符串。
如果有朋友对于CryptoAPI不太了解的话可以去查看MSDN的相关说明,这套API为安全方面的加密解密等等提供了良好的支持。(这篇文章初发表于http://wangye.org/blog/)