ASP文件上传原理分析及实现实例

0

分类 : 心情随笔 | 发表时间 28-03-2006

摘要:在基于/的应用环境中,上传各种类型的文件一直是困扰用户文件管理应用的难题之一。在HTTP中上传文件有三种机制:RFC1867,PUT和WebDAV。常用的实现方法是利用在RFC1867中引入的一个新类型:File以及ADO Stream对象。本文对上述上传方法及实现原理作了论述,并给出了具体解决实例。

  ASP FILE对象

  当前,基于/模式的应用比较流行。当用户需要将文件传输到上时,常用方法之一是运行FTP并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录。这就要求用户必须懂得如何使用FTP客户程序。因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的。 如果我们能把文件上传功能与Web集成,使用户仅用Web就能完成上传任务,这对于他们来说将是非常方便的。但是,一直以来,由于File System Object的仅能传送文本文件的局限,所以ASP最大的难题就是文件上传问题。下面介绍的就是如何在基于HTTP协议的网页中实现文件的上传。

  一.通过HTTP上传的三种机制

  通过HTTP上传有三种机制:RFC1867, PUT 和 WebDAV。

  PUT 是在HTTP 1.1引入了一个新的HTTP动词。当web收到一个HTTP PUT和对象名字,它将会验证用户,接收HTTP流的内容,并把它直接存入web。由于这可能会对一个web站点造成破坏,并且还会失去HTTP最大的优势:可编程性。在PUT的情况下,自己处理请求:没有空间让CGI或者ASP应用程序介入。唯一让你的应用程序捕获PUT的方法是在低层操作,ISAPI过滤层。由于相应的原因,PUT的应用很有限。

  而WebDAV允许web内容的分布式认证与翻译。它引入了几种新的HTTP动词,允许通过HTTP上传,锁定/解锁,登记/检验web内容。Office 2000中的”Save to web” 就是通过WebDAV来实现的。如果你所感兴趣的一切都是上传内容,WebDAV应用得非常出色,它解决了很多问题。 然而,如果你需要在你的web应用程序里面上传文件,WebDAV对你就毫无用处可言。象HTTP PUT一样,那些WebDAV的动词是被解释的,而不是web应用程序。你需要工作在ISAPI过滤层来访问WebDAV的这些动词,并在你的应用程序中解释内容。

  RFC1867 (http://www.ietf.org/rfc/rfc1867.txt) 最终被W3C在HTML3.2中接受前,是作为一种建议标准。它是一种非常简单但是功能很强大的想法:在表单字段中定义一个新类型。





  并且在表单本身加入了不同的编码方案,不再使用典型的:




  而是使用:

这种编码方案在传送大量数据的时候,比起缺省的”application/x-url-encoded”表单编码方案,显得效率要高得多。URL编码只有很有限的字符集,使用任何超出字符集的字符,必须用’%nn’代替,这里的nn表示相应的2个十六进制数字。例如,即使是普通的空格字符也要用’%20′代替。而RFC1867使用多部分MIME编码,就象通常在e-mail消息中看到的那样,不编码来传送大量数据,而只是在数据周围加上很少的简单但实用的头部。主要的厂商都采用了建议的”浏览…”按钮,用户能很容易的使用本地”打开文件…” 对话框选择要上传的文件。

  RFC1867仍然将大多数文件上传的灵活方法留给了你的web应用程序。PUT用得很有限。WebDAV对内容的作者很有用,比如FrontPage用户,但是对想在web应用程序中加入文件上传的web开发者来说很少用到。因此,RFC1867是在web应用程序中加入文件上传的最好的办法。

  在实际应用中,免费提供了Posting Acceptor 。ASP不懂”multipart/form-data” 编码方案。取而代之,提供了Posting Acceptor ,Posting Acceptor是一种在上传完成后,接受REPOST到一个ASP页的ISAPI应用程序。

  Software Artisans的SA-FileUp是最早的商业Active Server之一。几经改进,现在作为一个纯粹的ASP存在。

  二.基于ASP的文件上传实现原理分析

  基本原理是:采用ADO Stream对象的BinaryRead方法将FORM中的所有数据读出,从中截取出所需的文件数据,以二进制文件方式存盘。

  下面是上传文件页面的一个例子(upload.htm):






Action=”Upload.asp”>










程序中使用了文件对象,这样在Upload.asp中采用BinaryRead方法读来的原始数据就不仅仅是选择的文件本身的数据,还包含该文件在用户硬盘上的路径、类型、提交页面的表单等相关信息的描述,这样我们就需从中提取出文件的具体内容。根据分析,数据的头部信息与数据的分界线是两对回车换行符,尾部也有分隔信息,我们可以采用类似以下的方法获取文件数据。

Dim FormData.FormSize,DataStart,CLStr,DivStr
FormSize=Request.TotalBytes
FormData=Request.BinaryRead(FormSize)
CLStr=ChrB(13)&ChrB(10)
DataStart=InStrB(FormData.CLStr&CLStr)+4
’4是两对回车换行符的长度
DivStr=LeftB(FormData,InStrB(FormData,CLStr)-1)
DataSize=InStrB(DataStart+1,FormData,DivStr)-DataStart-2
FormData=MidB(FormData,DataStart,DataSize)


  FormData就是文件的内容了。

  中间根据需要,可进行相应的处理。最后的工作就是将文件保存了。保存的方法可以有两种:一种是利用VB或VC之类程序中的二进制文件操作方法,在工程中加入适当的类型库,最终编译成DLL文件,使用时再将该DLL文件注册就可以了。文件存贮程序如下:

Public Function SaveFile(Pathname As String) As String
    Dim objContext As ObjectContext
    Dim objRequest As Request
 Set objContext=GetObjectContext()
    Set objRequest=objContext(“Request”)
    ’以下的一段代码是进行文件存贮的有关操作
 Dim FormData() As Byte,CLStr,DivStr
    Dim DataStart As Long,DataSize As Long
    DataSize=objRequest.TotalBytes
    Redim FormData(DataSize-1)
    FormData=objRequest.BinaryRead(DataSize)
    CLStr=ChrB(13) & ChrB(10)
    DataStart=InStrB(FormData,CLStr & CLStr)+4
    DivStr=LeftB(FormData,InStrB(FormData,CLStr)-1)
    DataSize=InStrB(DataStart+1,FormData,DivStr)-DataStart-2
    FormData=MidB(FormData,DataStart,DataSize)
    ’创建一个二进制文件并将FormData写入其中
    Open Pathname For Binary As 1
    Put #1,,FormData
    Close #1
    SaveFile=”OK!”
   End Function

第二种方法是利用ADO STREAM中提供的二进制文件操作方法来完成,保存文件的语句是: StreamOBJ.SaveToFile (fileName,2)。在 这种操作中,我们可以将有关的操作存放在一个类文件中,在应用时,直接将该类文件包含在ASP程序中就可以了。具体处理方法,请参阅有关介绍。

  三.文件上传实现方法实例

  实现文件上传可使用或无方式。对于类,比如说microsoft posting acceptor(简称mpa),就是公司发布的一个免费,这类的安装也比较方便。对于的mpa,运行它的安装文件就可以了。而一般的dll形式的,我们则需要进行注册。例如,要使用aspcnUP.dll,只要在Window 2000上

Office一族“以食攻毒”

0

分类 : 美文美景 | 发表时间 26-03-2006

在现代化的办公条件中,人们的速度明显加快,但也埋下了一些健康隐患,辐射、噪音、粉尘、重金属污染……对于这些隐患,人们是没有办法避免的,但可以选择一些特定的食物来对抗办公室的这些污染“元凶”。
  
   食物抗辐射
  
  ■案例:张女士,程序编辑员,35岁
  
  在办公室中,很多人坐在自己的工作台上目不转睛地盯着电脑,手在不断地敲着键盘,张女士也是其中一位,她的工作必须每天对着电脑,这是她的烦恼,总想着什么方法能解决就好,她在电脑上加了一个电脑防辐射屏,但心里觉得还是不塌实……
  
  ■专家支招:
  
  最新的研究发现,海带的提取物海带多糖可减轻同位素、射线对机体免疫功能的损害,并抑制免疫细胞的凋亡而具有抗辐射作用。能抗辐射的蔬菜还有:黑木耳、油菜、青菜、芥菜、卷心菜、萝卜等。
  
   食物抗噪音
  
  ■案例:李先生,某银行公司职员
  
  每天在办公室,同事们匆匆忙忙,接着不同的电话,外面也是车水马龙,李先生怀疑自己一直处在这种状况下,觉得很糟糕。但他深刻地明白改变环境是不可能的,只能是试着加强自己的“抵抗力”了。
  
  ■专家支招:
  
  在噪声环境中体内的B族维生素消耗量很大,应多食富含B族维生素的食物,如小米、燕麦、玉米等。
  
  食物抗粉尘
  
  ■案例:黎女士,某外企员工
  
  “一直以为当老师的才是一天到晚跟粉尘打交道,最近看了相关的报道才发现自己也在不断地吸入粉尘。”在某外企上班的黎女士惊讶地说。从报道中,她知道自己每天都要打交道的复印机,其中含有的黑色显影粉对人体有害,这种粉末由碳粉制成,含有可能致癌的多芳硝基化学物质。
  
  ■专家支招:
  
  猪血富含维生素B2、维生素C、蛋白质、铁、磷、钙、尼克酸等营养成分。猪血中的血浆蛋白被人体内的胃酸分解后,产生一种解毒、清肠分解物,能够与侵入人体内的粉尘、有害金属微粒发生化合反应,易于毒素排出体外。长期接触有毒有害粉尘的人,特别是每日驾驶车辆的司机,应多吃猪血。另外,猪血富含铁,对贫血而面色苍白者有改善作用,是排毒养颜的理想食物。另外,鸭血鸡血也有同样的功效。
  
   食物抗金属
  
  ■案例:陈先生,某杂志社编辑
  
  在陈先生的工作中,每天都要与众多的稿件打交道,有时甚至趴在稿子上休息,铅、汞等直接跟他亲密接触了。
  
  ■专家支招:
  
  牛奶驱铅每天早晚饮用牛奶就可以达到驱铅的目的,因为牛奶所含的蛋白质成分能与体内的铅结合成可溶性化合物,不但阻止人体对铅的吸收,还可以促进铅的排泄。
  
  胡萝卜排汞:胡萝卜含有的大量果胶能与汞结合,有效降低血液中汞离子的浓度,加速其排出。
  
  黑木耳抗镉:慢性镉中毒会造成人体肾脏损害,或引起骨骼疾病。黑木耳含有的植物胶质,可吸附通过消化道进入体内的镉,使其排出体外。

只需五步专家教你确保计算机安全

0

分类 : 业界动态 | 发表时间 25-03-2006

我们看新闻的时候,不断看到这样的消息:身份被盗、数据遭窃、隐私信息落入非法人士之手……

  但是,这些问题几乎都是可以避免的。做到了本文列出的5步,你就可以保证任何一台PC机的安全,免遭在线攻击和数据窃取,无论是在公共网上还是在家里都可以做到。有的步骤看起来可能有点眼熟,这样当然很好了,因为这表示你已经在向着正确的方向加速。但是,即便是专家,也不免偶尔会落掉一两步,所以,列一个单子或者写一个像本文一样的小指南会让人执行起来方便很多。

  好,现在我们开始吧!

  一、关掉漏洞

  所有的软件,无一幸免,都包含有bug、错误、遗漏以及安全漏洞。没有哪个品牌或厂商或开发团体对此免疫。因此,为了保证PC机的安全可靠,在安全补丁出现的时候去获取并且打上补丁当然就是首要的事情了。大多数厂商都提供自动的或半自动的工具帮助用户及时获取补丁,最明显的,也是最普及的就是微软的Windows Update和Office Update。大多数厂商的官方网站也会提供所有更新的索引页或目录,帮助用户不会漏掉以前错过的任何一个补丁。不管你在用什么软件,一定要保证你100%地做到了保持所有重要的补丁、更新和bug修补都是最新的。

  二、阻止入侵者

  现在,差不多每个人都认识到,用防火墙一类的东西阻止恶意攻击者和外部链接是非常必要的。并且,几乎每个人至少都安装了一个基本的桌面防火墙。

  但是,还是有混淆和误解存在:如果某台PC已经用一个硬件防火墙或者路由器、NAT之类保护了起来,那么是不是就不必在桌面上安装防火墙了?不,还是需要桌面防火墙!是的,硬件防火墙、路由器、NAT之类的设备抵挡外部入侵都没有问题,但是多数这些设备对于“phone home”攻击和类似的“来自内部的攻击”都束手无策。一些恶意软件会采用“内部攻击”的方式:这些恶意的发向外面的链接伪装成来自内部某台PC,从而骗过大多数外部自动防御设备。

  与之形成鲜明对比的是,效果更好的桌面防火墙在第一次激活的时候就会阻止或标记所有发向外部的链接,在“phone home”及类似的发向外部的链接开始动作之前就加以阻止。因此,即便你的PC机受到独立的外部防火墙的保护,也一定要安装桌面防火墙。

  三、停止感染

  “关掉漏洞”和“阻止入侵者”对保证PC的安全大有帮助,不过,恶意软件还是可以通过其它几个方面进入你的PC;尤其是通过来自可信源的感染达到目的,比如,被同事的PC或公司局域网内的其它PC所感染。基于这个原因,也是为了把基础的数字卫生工作做好,每一台PC都需要高效的、最新的防病毒保护。

  网上可以下载到很多免费的防病毒工具和服务,所以,我们没有理由让哪一台PC不受保护就开始运行。


 四、防止颠覆情况

  即使是最好的防病毒软件也做不到可以对付所有类型的恶意软件,这些恶意软件一旦得逞,就会控制你的PC机,或者是危及你的数据的安全。不过,有很多其它的免费或者廉价的工具,可以弥补防病毒软件留下的空白,能够对付所有最普通的问题。

  像微软的免费而且卓越的Antispyware和Javacool的SpywareBlaster这样的工具,不仅可以防止间谍软件及其它恶意软件安装到你的PC机,而且,如果间谍软件或恶意软件已经安装了,这些工具还可以帮助你找出并消灭它们。

  像StartUpMonitor和WinPatrol这样的工具,可以帮助监控并阻止恶意软件把自身插入到你的PC的启动序列中。

  像Spybot S&D和Ad-Aware这样的工具,可以提供对许多种类的恶意软件的聚焦搜索。

  甚至有些工具还能够执行多种功能,把数种防护聚合到了一个工具中,为用户提供各个层级的保护,帮助用户确保某个工具可能错过的迹象一定会被另一个工具捕捉到。

  五、彻底锁住

  在最简单的层次,一个好的口令就可以帮助阻止登录你的系统或实行管理员权限的功能。为了更安全一点,你还可以加密并用口令保护自己的文件、文件夹或整个硬盘,保证数据免受snoop和数据窃贼的侵害。

搞定右键总是出现“正在安装”的问题

0

分类 : 技术文摘 | 发表时间 11-03-2006

前几天,玩优化大师,之后出现了一些系统问题,前几天已经描述过,大多数问题已经解决了,不过右键时,总是出现一闪一个界面,这个一直没有解决,开始以为是office的问题,卸载重装了以后,还是有这问题,再用优化大师优化一下右键反应速度,好一点了,但点击任何图标时,还是会出现这个问题,烦死人了;后来,为了调试一个木马,就把诺顿监控给停了,正在调试时,右键点击一个压缩文件包时,n久没有反应,系统干什么都慢,点击ie,慢;以为是中了木马,或者是这个木马当中隐藏的有其它后门线程,用冰刀看看,没发现什么异常;重启一下,还是这毛病,我总不能不用右键吧?到网上搜索一下这类问题,看到一个小子在大发牢骚,“他妈的,装了诺顿系统就慢,什么都慢,卸载还卸载不掉”,他直接把诺顿安装目录给删除了;我灵机一动,会不会是诺顿的毛病,它右键集成的有“即时杀毒”的功能,会不会是这个问题?说干就干,卸载它,不行,前几天恢复过一次注册表(前两天日志有说过),“添加/删除”里面没有卸载的提示,那就干脆直接装吧,一般这些软件都有在安装时如果遇到已经安装过,会提示是“修改还是删除”(大厂商嘛,嘿嘿),装吧……,安装时,没提示删除,一直安装完了;在安装的时候,我就在试右键,提示重启时(我用的是诺顿10.0的企业版),装客户端模式,右键已经灵动自如了,为完善起见,再卸载,重启,再安装,这会,右键彻底好了!
经过这次过程,觉得右键问题,还是和右键中的项目有关系,如果开始从这里入手,应该很快就可以解决;比较方便的办法就是用优化大师的右键清理功能,一项一项找,看是哪方面的问题,这样,右键问题就好解决了!

Backup your Linux System|备份你的 Linux 系统

0

分类 : 娱乐休闲 | 发表时间 10-03-2006

一、我们需要备份什么?

我的 Linux 系统是基于 Redhat 的Redhat Linux 9.0,同时配置了诸如 MySQL、PHP、Apache 等基础服务,同时又配有 Awstats、MRTG、MT 等应用服务程序,因此,我们需要备份的除了系统本身的重要文件以外,还需要备份数据库、log文件和统计数据文件等。当然另外一项必不可少的就是编译各项服务时的 ./configure 参数,这里就不赘述了。

二、制定备份文件列表。

这个步骤就是归纳一下需要备份的目录列表。以下我就依照我所安装的各项服务作了一个简单的list。 一些文件的地址是以我的服务器为标准(以”/”开头),一些则以相对目录来描述(以”./”开头)。

系统:


/etc /usr/local/etc
包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。

/var
包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。

/home
包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。

/root
是根(root)用户的主目录。

/opt
是安装许多非系统文件的地方。IBM 软件就安装在这里。OpenOffice、JDK 和其他软件在默认情况下也安装在这里。

系统中不需要备份的目录:


/proc
应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括诸如 /proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。

/dev
包含硬件设备的文件表示。如果计划还原到一个空白的系统,那就可以备份 /dev。然而,如果计划还原到一个已安装的 Linux 系统,那么备份 /dev 是没有必要的。

更多关于目录的解释,请查看 Filesystem Hierarchy Standard 和 Red Hat Linux Overview of File System Hierarchy Standard (FHS)

MySQL:


/usr/local/mysql
同时要注意版本的保留,在恢复的时候使用相同的版本(或者相同系列的版本)会减少更多不必要的麻烦,例如 “/usr
/local/mysql-standard-4.1.7-pc-linux-i686”。

/etc/my.cnf
MySQL 的配置文件。

Apache:


/usr/local/apache2/logs
Apache 的 log 文件。这里建议使用 cronolog 来 rotate Apache 的巨大 log。可以参考我的 cronolog 杂记

/usr/local/apache2/conf
Apache 的配置文件,例如: httpd.conf。还是建议在修改此文本的时候使用“#”号 comment 修改的内容,然后添加需要修改的内容。

PHP:


/usr/local/lib/php.ini
个人觉得这个就够了。如果你设定了 php 的 error log 文件,当然那个也是需要的。

Movable Type:


./MT-3.0D-full-en_ususr/ 和你的 weblog 目录
一般来说 blog 不会太大,不介意的话就整个备份一下。当然最重要的是 ./MT-3.0D-full-en_ususr/db/ 文件夹,里面有所有的数据(如果你没有用 MySQL 作为 MT 的数据存储格式的话)。

Awstats:

/etc/awstats/
Awstats 的配置文件。诸如:awstats.blog.conf

/var/lib/awstats/
Awstats 的分析留档文件。 诸如:awstats082004.blog.txt

MRTG:


MRTG 的输出文件夹。内有图片和诸如 12.34.56.78_12.34.56.78.log 的log文件。

三、使用 tar 和 crontab 等简单工具备份。

以下是使用 tar 的脚本,去掉了多余的说明部分。 您也可以点击这里下载并修改以适合自己的系统。在脚本中我尽量用更多的方法来进行备份。在实际应用中可以将步骤更加简化。更多关于 tar 的参数请看 man tar

#!/bin/sh

# Date format: 20040626
DATE=`date -d yesterday +%Y%m%d`

# MySQL version & directory
MYSQL_VERSION=”4.x.x”
MYSQL_DIR=”/usr/local/mysql/data”

# MT Blog directory
MTBLOG_DIR=”/path-to-mt/db/”

# Backup directory & Backup Filelist
BACKUP_DIR=”/path-to-backup/backupfile”
BACKUP_FILELIST=”/path-to-backup/filelist”

# Backup MySQL
printf “Backup MySQL data directory, please wait…\n”
tar -zpcvPf $BACKUP_DIR/mysql-standard-$MYSQL_VERSION-data-$DATE.tgz $MYSQL_DIR | grep “tar:”
printf “Done! The new backup file is: $BACKUP_DIR/mysql-standard-$MYSQL_VERSION-data-$DATE.tgz\n\n”

# Backup MT Blog
printf “Backuping the MT3.0 Weblog data directory, please wait…\n”
tar -zpcvPf $BACKUP_DIR/MT-db-$DATE.tgz $MTBLOG_DIR | grep “tar:”
printf “Done! The new backup file is: $BACKUP_DIR/MT-db-$DATE.tgz\n”

这里引用了『Linux 备份与恢复速成指南』中的一个小技巧,将文件列表写入一个文件进行操作。查看我的Filelist。

以下是一个文件列表的例子:

/etc
/var
/home
/usr/local
/opt (有时会是空目录)
以下解释引自『Linux 备份与恢复速成指南』:

请注意 tar -T(或 files-from)命令不能接受通配符。文件必须明确地列出。上面的例子展示了一种单独地引用文件的方法。您还可以执行脚本来搜索系统,然后建立一个列表。下面就是这样一个脚本的例子:

#!/bin/sh
cat MyFiles > TempList
find /usr/share -iname *.png >> TempList
find /tmp -iname *.iso >> TempList
tar -cpzMf /path-to-backup/backupfile -T TempList
上面的脚本首先将 MyFiles 中的所有现有文件列表复制到 TempList。然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件,并将它们附加到 TempList。第一次是搜索 /usr/share 目录树中以 .png 结尾的所有文件。第二次是搜索 /tmp 目录树中以 .iso 结尾的所有文件。在建立好列表之后,tar 然后在文件设备 /dev/st0 (第一个 SCSI 磁带设备)上创建 一个新的归档文件,该文件使用 gzip 格式来压缩,并保留所有文件权限。该归档文件将跨越多个卷。要归档的文件的名称将从 TempList 文件中提取。

四、适用于 log 和数据库的增量备份(incremental backup)。

对于庞大的 log 或者 数据库文件,每天进行完全备份似乎不是很能合理高效地实现备份工作。所以在较短的时间周期内,适用增量备份(incremental backup)会是一个不错的选择。

tar 并不是最好的增量备份工具

tar 并不是最好的增量备份的工具,但是它也可以实现增量备份。参照 『The tar backup program』中的脚本可以实现这个操作。

简单地介绍一下其原理:
首先,制作一个完全备份的时间点文件,例如 “full-date”。其中写入某次完全备份的时间点,例如 echo $NOW > full-date。
然后在自定的时间循环期内(例如一周),每次和完全备份时间点(full-date)对比后进行增量备份。
其中最关键的一个语句就是:

tar –newer $full-date -zcpf $BACKUPDIR/$BACKUPFILE-$NOW.tgz $DIRECTOIES
其结果就是,在一周中会产生 6 个独立文件,其内容是前一天内新增的内容。以下是一个例子:
[root@deep] /# ls -l /backups/

total 22217
-rw-r–r– 1 root root 10731288 Feb 7 11:24 deep-01Feb.tar << 每月月初一次完全备份
-rw-r–r– 1 root root 6879 Feb 7 11:24 deep-Fri.tar << 每天的增量备份
-rw-r–r– 1 root root 2831 Feb 7 11:24 deep-Mon.tar
-rw-r–r– 1 root root 7924 Feb 7 11:25 deep-Sat.tar
-rw-r–r– 1 root root 11923013 Feb 7 11:24 deep-Sun.tar << 每周一次完全备份
-rw-r–r– 1 root root 5643 Feb 7 11:25 deep-Thu.tar
-rw-r–r– 1 root root 3152 Feb 7 11:25 deep-Tue.tar
-rw-r–r-
- 1 root root 4567 Feb 7 11:25 deep-Wed.tar
drwxr-xr-x 2 root root 1024 Feb 7 11:20 last-full


tar 中几个开关的简介:


The c option specifies that an archive file is begin created.

The p option preserves permissions; file protection information will be remembered.

The N or newer option does an incremental backup and only stores files newer than DATE.

The f option states that the very next argument will be the name of the archive file or device being written.

The z option specifies that an gzip file will be created.

The u option can APPEND more files to a tarball file.
注意:-u 开关并不是增量备份,而是往原有的 tar 包里面添加新的文件。

fbackup is a better choice

在 HP 的论坛上,有关于增量备份的讨论--“Incremental “tar” Backup in HP-Ux”。但是因为我不是 HP 的系统,tar 已经可以满足现有的备份需求。

五、使用 ssh 实现安全网络远程备份。

[很抱歉,此段笔者没有试验环境,现在之能添加几篇关于 ssh 远程传送的文章。等到经过试验后,我会添加具体内容。]


33.8. Backing up and restoring over the network

轻松进行自主的、安全的、分布式网络备份

六、个人使用的 e-mail 简单备份。

由于 Yahoo!、Google、Hotmail 相继推出了 1-2G 的邮箱,因此可是试着使用带有文件附件的 E-mail 来传输小于各个邮箱的单封信件上限大小的文件。 具体需要用到一些诸如 uudecode 的命令,所以需要先安装一个 Sharutils 。 我在编译中遇到一些简单的错误,这里是我修改过的 Sharutils。

在命令行下发送带附件的邮件时,还是建议使用诸如 MUTT 的 MUA,请查看我的 MUTT 的安装失败经历,也许对新装的用户有所帮助。

安装完毕后,可以使用 Mutt 的命令行一行解决问题。首先先写一个邮件文本 mailcontent.txt。

# cat mailcontent.txt | mutt -s “mailtitle” -a attachfile1 mail@address

结合上面的 shell 脚本,如果你有企业级邮箱的话,不妨也试试这种方法。仅供参考。

Windows Installer出错的解决方案

0

分类 : 技术文摘 | 发表时间 22-02-2006

Windows Installer(windows安装服务)是一种通用的软件发布方式,现在许多软件都使用windows Installer作为自己的安装程序,有时因为各种原因以及windows Installer本身的缺陷,会导致windows Installer出错。

  症状一:删除某个程序后,在运行某些软件时,老会弹出一个“windows正在配置Windows Installer,请稍候”的窗口。
  解决办法:
  1、重新安装Windows Installer,office XP安装盘的根目录有两个名为instmsi.exe和InstMsiW.exe的文件,instmsi.exe用于win9X/Me,InstMsiW.exe用于Win2000/XP;
  2、打开组策略→计算机配置→管理模板→Windows组件→Windows Installer→禁用Windows Installer,只是这样一来,很多软件就有能安装了,此法用于Win2000/XP。
  3、请看本文最后的“终级解决方案”

  症状二:Win2000/XP安装软件时提示“无法访问windows安装程序,服务中windows Installer状态为停止,不能启动”
  解决办法:
  1、命令提示符下输入:misiexec /regserver
  2、在“管理工具”→“服务”中启动windows Installer

  症状三:Win2000/XP安装软件时提示“不能访问Windows Installer服务……”
  解决办法:
  1、检查当前用户有无管理员权限;
  2、结束进程Ikernel.exe后再安装;
  3、删除系统安装目录Program Files\Common Files\InstallShield\Engine下的所有文件再安装。
  4、首先,运行“msiexec /unregserver”,停止Windows Installer服务;
  接着,安装InstMsiW.exe(office XP安装盘的根目录下有,也可以从网上下载,地址为:
[url]http://download.microsoft.com/download/WinfowsInstaller/Install/2.0/NT45/EN-US/InstMsiW.exe)[/url],用Winrar解压至设定的目录;进入目录,右键点击msi.inf,选“安装”,右键点击mspatcha.inf,选安装;
  最后运行“msiexec /regserver”启用服务。

  症状四:安装软件时提示“系统管理员设置了系统策略,禁止进行此项安装”
  解决办法:
  1、尝试用症状三的解决方法;
  2、打开组策略→用户配置→管理模板→Windows组件→Windows安装服务→将“禁止从媒体安装”设为“禁用”,将“永远以高特权进行安装”设置为“启用”

  以上问题的终级解决方案:
  下载安装微软提供的Windows Installer CleanUp Utility 1.0,它的主要功能是清除程序的Windows Installer配置信息。启动该工具,它会列出目前系统中所有Windows Installer使用安装的软件,选中出问题的软件,然后点“Remove”按钮即可。
Windows Installer CleanUp Utility 1.0下载地址:
http://www.onlinedown.net/soft/27518.htm

JSP连接SQL Server 2000系统配置

0

分类 : 技术文摘 | 发表时间 19-01-2006

第一步:—-安装J2SDK:

  到SUN官方站点(http://java.sun.com)下载J2SDK的安装文件:j2sdk-1_4_2_04-windows-i586-p.exe,下载之后安装好J2SDK;安装完之后,设置环境变量:我的电脑—属性—高级—环境变量;

  选择—系统变量(S):
 
  设置JAVA_HOME环境变量:

  单击—新建,在变量名中输入:JAVA_HOME

  在变量值中输入:D:\Java

  (假设J2SDK安装在目录D:\Java下,反正就是J2SDK的安装目录。)

  然后—确定,到此已经设置好JAVA_HOME环境变量。

  设置CLASSPATH环境变量:

  单击—新建,在变量名中输入:CLASSPATH

  在变量值中输入:D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;D:\Java\lib\tools.jar

  (中间的点号“.”和分号“;”必不可少。)

  然后—确定,到此已经设置好CLASSPATH环境变量。

  设置PATH环境变量:

  单击—新建,在变量名中输入:PATH

  在变量值中输入:D:\Java;.;D:\Java\bin

  (中间的点号“.”和分号“;”必不可少。)

  然后—确定,到此已经设置好JAVA_HOME环境变量。

  三个环境变量设置好后,写一个简单的java程序来测试J2SDK是否已安装成功:

  在D:\下新建一个目录test;然后写如下程序: 
  public class Test { 
  public static void main(String args[]) { 
    System.out.println(“This is a test program.”); 
   } 
  }

  将上面的这段程序保存为文件名为Test.java的文件,保存在目录D:\test下。

  然后打开命令提示符窗口,cd到你的test目录,然后键入下面的命令  

    javac Test.java 
    java Test 

  此时如果看到打印出来This is a test program.的话说明安装成功了,

  如果没有打印出这句话,你需要仔细检查一下你的配置情况。 

  如果上面的J2SDK安装成功的话,接下来继续安装Tomcat:

  第二步:—-安装Tomcat:

   到tomcat官方站点(http://www.apache.org/dist/jakarta/tomcat-4/)下载tomcat:

   jakarta-tomcat-4.1.30.exe,下载之后安装。(比如安装在D:\Tomcat下。)

   安装完之后,设置环境变量:我的电脑—属性—高级—环境变量;

   选择—系统变量(S):

   设置CATALINA_HOME环境变量:

   单击—新建,在变量名中输入:CATALINA_HOME

   在变量值中输入:D:\Tomcat

   然后—确定,到此已经设置好CATALINA_HOME环境变量。

   设置CATALINA_BASE环境变量:

   单击—新建,在变量名中输入:CATALINA_BASE

   在变量值中输入:D:\Tomcat

   然后—确定,到此已经设置好CATALINA_BASE环境变量。

   然后修改环境变量中的CLASSPATH,把Tomat安装目录下的common\lib下的servlet.jar追加到CLASSPATH中去,

   修改后的CLASSPATH如下: 

CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;D:\Java\lib\tools.jar;
D:\Tomcat\common\lib\servlet.jar 

   接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。

   如果上面的tomcat安装成功的话,接下来继续安装JSP访问SQL Server 2000的驱动程序:

  第三步:—-安装JSP访问SQL Server 2000的驱动程序:

   从微软的网站上下载驱动程序:SQL Server 2000 For JDBC 驱动程序,在Google中随便搜索就有。

   然后将它安装好。(比如安装目录是D:\SQLDriverForJDBC。)

   然后必须将安装目录中的lib目录下三个jar文件:

   msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
把SQL Server 2000 For JDBC 驱动程序安装目录下的
D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar;
追加到CLASSPATH中去,修改后的CLASSPATH如下: 

CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
_D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
_D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar

    必须重新启动Tomcat!

    这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题

  写一个简单的用来测试连接SQL Server 2000的JSP代码

  <%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
  
  
  <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs”;
   //pubs 为你的数据库的
   String user=”sa”;
   String password=”admin”;
   Connection conn= DriverManager.getConnection(url,user,password);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql=”select job_id,job_desc from jobs”;
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) { %>
    您的第一个字段内容为:<%=rs.getString(1)%>

    您的第二个字段内容为:<%=rs.getString(2)%>

  <% } %>
  <% out.print("数据库操作成功,恭喜你"); %>
  <% rs.close();
   stmt.close();
   conn.close();
  %>
  
  

  将上面的JSP代码保存为sql_test.jsp,放在/Root目录下。

  在地址中输入:http://localhost:8080/sql_test.jsp,如果全部配置成功的话,将显示如下:

  您的第一个字段内容为:1
  您的第二个字段内容为:New Hire - Job not specified
  您的第一个字段内容为:2
  您的第二个字段内容为:Chief Executive Officer
  您的第一个字段内容为:3
  您的第二个字段内容为:Business Operations Manager
  您的第一个字段内容为:4
  您的第二个字段内容为:Chief Financial Officier
  您的第一个字段内容为:5
  您的第二个字段内容为:Publisher
  您的第一个字段内容为:6
  您的第二个字段内容为:Managing Editor
  您的第一个字段内容为:7
  您的第二个字段内容为:Marketing Manager
  您的第一个字段内容为:8
  您的第二个字段内容为:Public Relations Manager
  您的第一个字段内容为:9
  您的第二个字段内容为:Acquisitions Manager
  您的第一个字段内容为:10
  您的第二个字段内容为:Productions Manager
  您的第一个字段内容为:11
  您的第二个字段内容为:Operations Manager
  您的第一个字段内容为:12
  您的第二个字段内容为:Editor
  您的第一个字段内容为:13
  您的第二个字段内容为:Sales Representative
  您的第一个字段内容为:14
  您的第二个字段内容为:Designer
  数据库操作成功,恭喜你 
 
  以上所有的内容涉及的相关条件:

  操作系统:Windo
w 2000 Server
  J2SDK版本:j2sdk-1_4_2_04-windows
  Tomcat版本:jakarta-tomcat-4.1.30
  本地数据库:SQL Server 2000

木马各种隐藏技术全方位的大披露

0

分类 : 技术文摘 | 发表时间 17-01-2006

以前,我曾认为只要不随便运行网友发来的文件就不会中病毒或木马,但后来出现了利用漏洞传播的冲击波、震荡波;以前,我曾认为不上小网站就不会中网页木马,但后来包括国内某知名游戏网站在内的多个大网站均在其首页被黑客挂上了木马。从此,我知道:安全,从来没有绝对的。
  
虽然没有绝对的安全,但如果能知已知彼,了解木马的隐藏手段,对于木马即使不能百战百胜,也能做到及时发现,使损失最小化。那么,木马究竟是如何躲在我们的系统中的呢?
  最基本的隐藏:不可见窗体+隐藏文件
  木马程序无论如何神秘,但归根究底,仍是Win32平台下的一种程序。Windows下常见的程序有两种:
  1.Win32应用程序(Win32 Application),比如QQ、Office等都属于此行列。
  2.Win32控制台程序(Win32 Console),比如硬盘引导修复程序FixMBR。
  其中,Win32应用程序通常会有应用程序界面,比如系统中自带的“计算器”就有提供各种数字按钮的应用程序界面。木马虽然属于Win32应用程序,但其一般不包含窗体或隐藏了窗体(但也有某些特殊情况,如木马使用者与被害者聊天的窗口),并且将木马文件属性设置为“隐藏”,这就是最基本的隐藏手段,稍有经验的用户只需打开“任务管理器”,并且将“文件夹选项”中的“显示所有文件”勾选即可轻松找出木马,于是便出现了下面要介绍的“进程隐藏”技术。

  第一代进程隐藏技术:Windows 98的后门
  在Windows 98中,微软提供了一种能将进程注册为服务进程的方法。尽管微软没有公开提供这种方法的技术实现细节(因为Windows的后续版本中没有提供这个机制),但仍有高手发现了这个秘密,这种技术称为RegisterServiceProcess。只要利用此方法,任何程序的进程都能将自己注册为服务进程,而服务进程在Windows 98中的任务管理器中恰巧又是不显示的,所以便被木马程序钻了空子。
  要对付这种隐藏的木马还算简单,只需使用其他第三方进程管理工具即可找到其所在,并且采用此技术进行隐藏的木马在Windows 2000/XP(因为不支持这种隐藏方法)中就得现形!中止该进程后将木马文件删除即可。可是接下来的第二代进程隐藏技术,就没有这么简单对付了。
  第二代进程隐藏技术:进程插入
  在Windows中,每个进程都有自己的私有内存地址空间,当使用指针(一种访问内存的机制)访问内存时,一个进程无法访问另一个进程的内存地址空间,就好比在未经邻居同意的情况下,你无法进入邻居家吃饭一样。比如QQ在内存中存放了一张图片的数据,而MSN则无法通过直接读取内存的方式来获得该图片的数据。这样做同时也保证了程序的稳定性,如果你的进程存在一个错误,改写了一个随机地址上的内存,这个错误不会影响另一个进程使用的内存。
  你知道吗——进程(Process)是什么
  对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。
  一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程
  1.进程插入是什么
  独立的地址空间对于编程人员和用户来说都是非常有利的。对于编程人员来说,系统更容易捕获随意的内存读取和写入操作。对于用户来说,操作系统将变得更加健壮,因为一个应用程序无法破坏另一个进程或操作系统的运行。当然,操作系统的这个健壮特性是要付出代价的,因为要编写能够与其他进程进行通信,或者能够对其他进程进行操作的应用程序将要困难得多。但仍有很多种方法可以打破进程的界限,访问另一个进程的地址空间,那就是“进程插入”(Process Injection)。一旦木马的DLL插入了另一个进程的地址空间后,就可以对另一个进程为所欲为,比如下文要介绍的盗QQ密码。
  2.木马是如何盗走QQ密码的
  普通情况下,一个应用程序所接收的键盘、鼠标操作,别的应用程序是无权“过问”的。可盗号木马是怎么偷偷记录下我的密码的呢?木马首先将1个DLL文件插入到QQ的进程中并成为QQ进程中的一个线程,这样该木马DLL就赫然成为了QQ的一部分!然后在用户输入密码时,因为此时木马DLL已经进入QQ进程内部,所以也就能够接收到用户传递给QQ的密码键入了,真是“家贼难防”啊!
  (插入图06zcxtrojan0a.tif)
  3.如何插入进程
  (1)使用注册表插入DLL
  早期的进程插入式木马的伎俩,通过修改注册表中的[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]来达到插入进程的目的。缺点是不实时,修改注册表后需要重新启动才能完成进程插入。
  (2)使用挂钩(Hook)插入DLL
  比较高级和隐蔽的方式,通过系统的挂钩机制(即“Hook”,类似于DOS时代的“中断”)来插入进程(一些盗QQ木马、键盘记录木马以Hook方式插入到其他进程中“偷鸡摸狗”),需要调用SetWindowsHookEx函数(也是一个Win32 API函数)。缺点是技术门槛较高,程序调试困难,这种木马的制作者必须具有相当的Win32编程水平。
  你知道吗——什么是API
  Windows中提供各种功能实现的接口称为Win32 API(Application Programming Interface,即“应用程序编程接口”),如一些程序需要对磁盘上的文件进行读写,就要先通过对相应的API(文件读写就要调用文件相关的API)发出调用请求,然后API根据程序在调用其函数时提供的参数(如读写文件就需要同时给出需要读写的文件的文件名及路径)来完成请求实现的功能,最后将调用结果(如写入文件成功,或读取文件失败等)返回给程序。
  (3)使用远程线程函数(CreateRemoteThread)插入DLL
  在Windows 2000及以上的系统中提供了这个“远程进程”机制,可以通过一个系统API函数来向另一个进程中创建线程(插入DLL)。缺点很明显,仅支持Windows 2000及以上系统,在国内仍有相当多用户在使用Windows 98,所以采用这种进程插入方式的木马缺乏平台通用性。
  木马将自身作为DLL插入别的进程空间后,用查看进程的方式就无法找出木马的踪迹了,你能看到的仅仅是一些正常程序的进程,但木马却已经偷偷潜入其中了。解决的方法是使用支持“进程模块查看”的进程管理工具(如“Windows优化大师”提供的进程查看),木马的DLL模块就会现形了。
  不要相信自己的眼睛:恐怖的进程“蒸发”
  严格地来讲,这应该算是第2.5代的进程隐藏技术了,可是它却比前几种技术更为可怕得多。这种技术使得木马不必将自己插入到其他进程中,而可以直接消失!
  它通过Hook技术对系统中所有程序的进程检测相关API的调用进行了监控,“任务管理器”之所以能够显示出系统中所有的进程,

写给所有的IT民工们:IT一行有钱人真是很多

0

分类 : 网络日志 | 发表时间 15-01-2006

从来没有想过自己会加入这一行, 从开始自己喜欢的专业通讯,到后来喜欢的管理,想过是专业高手,幻想过管理专家,却从来没有想过进入这一行,但真的在我刚刚离开校园的时候发生了,短短几天,对这个行业有了一个感性认识,其实最让自己伤感的不是自己没有干这一行的经验,而是代理的人,要找的人都是薪水100万,现在才发觉IT一行,有钱人真多!

想想大家都在讨论一个月3000还是4000的时候,别人都是100万,而且多数都是没有结婚的28-29岁的年轻人,我在感叹做人的差距好大啊! 最让人伤心的是,当代理100万的CASE打个电话过去,很自豪的说帮你推荐职位,年薪100万,那边传来的是,轻蔑的笑声:我现在都150万,你认为我会去考虑100万?

收集300个人资料,查他们的经验背景,更让我接受不了的,里面只有一个清华, 一个北邮,我还熟悉,其它的都是很烂的大学,而交大一个也没有,和经理聊这个,他说如果你要找好大学的,在搞技术的20-30万的很多好大学,不解……

同志们…….有钱人很多啊!

其实我开始也不相信,开始经理拉我去那边的时候说他们都代理百万的职位,我还以为他吹牛,因为我们刚离开大学的时候大家都在为多拿几百快钱的时候,别人的薪水怎么能数量级上升。

有位网友让我拿出证据,其实还需要拿嘛,今天我特地又把大概的资料翻了一下,更确信我昨天的说法。给大家讲今天的一个笑话,每次约condidate 过来的时候,他们都开车过来,而今天收到一个清华的GG的简历,感觉他技术基础很扎实,想把一个技术主管的位置介绍给他,让他来我们OFFICE,我打听到他住的地方和我们的OFFICE 开车大概10分钟的路程,我说我们半个小时后见,他说可能赶不到,这位哥们一句话差点把我喝在口中的氺喷出来,他说,我骑自行车过去怕赶不上…….老兄你花10块钱打个车不行嘛,你应聘的可是70万的职位啊…….

其实大家都认为猎头就是中介,那可大错特错,猎头的信息;量大的让我刚刚进去的时候吓了一跳,他们几乎有所有IT公司的人员联系方式,而且是手机号码。我在想(我后来明白他们是怎么搞到的, 主要看报刊和网络)兄弟们,大家想赚大钱的话,那么自己创业把,要么去去那些高端技术企业的销售(想想EMC高端storage一台1million, 你认为利润是多少呢?),在大公司里面搞科研,可以让你不饿着,但永远富不起来(当然有例外的)!

真的,我也想不明白怎么我看拿百万的好大学少的可怜,原来我想有点少,但至少不会少到我看一百份只有2–3份是好大学的吧??我同意好大学出来的素质高, 但竞争能力怎么那么差呢?

还有现在国外大IT来中国的企业一般都是扁平管理, 只有四层, 最上面2层, 80%是香港和台湾人,我就想不明白了,我们已经开放20多年,怎么老美还是不愿意来雇用本地人呢? 而我们只能在最下边2层徘徊。唉……

不知道大家感兴趣的是猎头的工作还是那一群拿高薪的人?

原来也接触过一些有钱人,但每次都告诉自己每个社会都有一些暴发户来聊以自慰,可第一次而且是天天都在和这一群高收入者接触, 暴发户的现象完全消失, 自卑感可想而知, 其实这种自卑不是来自他们的高收入, 而是他们对行业的理解, 对市场的嗅觉,对整个行业食物链的把脉,他们和我们理 解的单片机, MOS逻辑电路完全是不同的概念,我们都知道一个公司要发展,市场和技术缺一不可, 问题是技术方面有我们这些好大学的学生来填补这些空缺而弱化了技术人员的薪资, 而使搞技术的处于饿不着也富不起来的限尉地,而对公司来说,来钱的地方只有市场,我们当然知道这没有技术支撑都是扯谈,这没有错,错的是我们认为大家都这么想,其实也只有我们搞技术的会这么想!

想想,一个卖通讯计费软件的销售人员2个月搞定的一个单子是2000万,而利润是1000万(这完全是真实的事情,如果有些人还让我拿出论据,我只能笑你对这一行太不了解),你说这个销售人员是应该拿300万还是400万的年薪呢? 而他手下没有管理一个人,而只是一个一线销售人员。我们搞通讯的都知道CDMA比GSM优越的多, 而且都在预计它会取代GSM,茫模停恋募 术早就成熟, 以前MOTOTROLA(中国)匆匆上马CDMA, 最后失败,引起MOTOROLA高层的震荡, 而血洗了一片决策高层。 每个公司都投入大量资金给科研,如果你以为是为了给科研人员的薪水,那又错了,那些钱都是做实验的, 而投入到市场上面的钱,那都是进入老板的腰包!

面谈一个在著名IT公司搞 Marketing 的福州大学的29岁的很干练的经理人,我们不知怎么聊到SUN的,他的公司代理的和SUN的产品几乎完全不同, 我以前也读了很多关于SUN的文章, 从它的发家到成长,到丑闻,而这位仁兄的了解让我直冒冷汗,他连当天美国SUN的股价都说的很清楚,更别提SUN的系列产品和对它未来的预测。而他仅仅是福州大学的小本。上面有个网友让我描述一下他们的背景,这个统计起来有点难度,不过我可以肯定的告诉你们, 他们有一个共同的东西,那就是人格魅力。

大家一谈创业都在犹豫,其实你犹豫的时候你已经失败一半了!

不信你去网易、sohu、sina上面的创业版看看,那里面多数人都在问:有谁创业成功的吗?怎么搞第一桶金?你们问的时候你已经失败了,我肯定的告诉你,你问的同时,好多人已经开始做了,创业成功的人不会来这儿的……

对于那些拿高薪的人除了,他们的共性,人格魅力外,还有就是他们都有完整的职业规划,这是他们成功的先决条件,如果一个人开始的希望都在为能不能找到工作,那么他也don’t have长远的规划。猎头们看简历candidate的时候首先看的是他们工作的公司和跳槽的经历,如果你每2-3年都跳一次,那么我告诉你被猎头看上去的机会很少,专业的猎头公司清楚的明白在代理这一行那个公司的员工最有竞争力,有些同学都认为去大公司为以后的工作有好处,这不竟然,大家喜欢去四大,那是因为四大会帮你综合培养的很有竞争力,所以很少有猎头去IBM挖人,那边出来的人没有太大的竞争力,这个庞大的组织里面分的太细,出来的员工基本不会是多面手,这可能也是IBM高明的地方,所以IBM相对员工比较稳定,但对于一个员工的职业规划,IBM不是一个好的去处。

关键是对人综合素质的培养,同时我们应该知道公司永远都是市场驱动而不是产品驱动,这个先决条件决定搞管理,销售的人拿高薪的可能性大的多,有好多人都说,先搞两年技术在转管理OR销售,其实你错了你两年的技术对你将来的管理和销售有点帮助,毕竟你花了两年的时间在技术上面,而别人已经直接在管理和销售上面干了两年,所以我刚刚在电脑上面大概统计了一下,高薪中管理和销售方面的人才开始做技术转过来的年龄都偏大,所以如果你致力于搞管理和销售,那么直接去找这方面的工作,而不要浪费时间去搞2年技术,一到管理层和销售对技术背景就会淡化很多, 而且愈高愈明显。

当然你的工科背景对你以后的管理和销售绝对是个很大的帮助,(现在我
们那个几个专业猎头,他们都是很有经验的专业顾问,但他们都不是工科背景,我的工科背景在那边做的就很占优势,而且猎取的成功率高的多),如果有些人又不想放弃技术,又不想一心搞技术,那么技术支持就不错,技术支持分pre-sales, and post sales, 我的建议如果你外向一点选择pre-sales, 那边很锻炼人,不仅要技术,还要很多的和人大交道,而且多数薪水比post sales要高 这那边滚打5-6年薪水都会到20-30万,以后跳槽的机会比较多,而售后这块薪水不是很高, 但技术含量比较高点, 以后跳槽也不容易。

当然想搞技术的,研发部门最好的啦,每个人都有自己的喜爱,而且钱不是衡量个人成功唯一标准, 反正研发部里面高薪的情况很少, 除非是那种很核心技术的, 不过国外IT公司的核心技术都放在总部研发, 不过研发主管的薪水都比较可观,不过研发部里面都是牛校的PHD,一个MASTER和小本在那边爬上去的可能性太小……

本来今天想写点猎人的程序方面的,不过下午发生的事情让我really shock,我想把她写下来,也许今天不会好看,但我还是想记下今天的故事:

她35,工学研究生,北大EMBA工商硕士,一个本土IT公司总经理,年营业额4亿。本来她把简历投过来的时候,她告诉我因为和董事长经营理念不是很相同,想走。手头没有和她很般配的职位,主要是开始很重要的职位(AP, CM)老板都没有给我做,其实我是个新手, 什么东西都在学,但她希望和我保持联系,今天早上,她打过来电话说下午会路过我们公司这边,希望和我见个面,本来我下午3点约了一个客户经理,后来我说3点半吧,3点半到的时候,她很准时,我约的那个人还没有走,让她等了10分钟,会客厅被其它同事用着, 我们就一起去了公司下面的一个咖啡厅,开始聊的很投机,因为我手里现在sales mgr 职位比较多点,她想要CEO COO的位置,然后我们一起聊她现在的公司.

她从助理做起到最后总经理,给我讲她出去拿单的经历,说和员工的沟通,和老板的交流,说的很感性,语速很慢,我们都要了冷咖啡,她告诉我不喜欢加糖,她喜欢慢慢品尝,当讲到她陪客户喝酒,陪客户疯狂,她声音变的很小,她说起她读EMBA的时候的抱负,还有自己的经营理念,她突然问我:我们活着为了什么?然后哭了,对于她的突然变化,我有点出手不及,不知道怎么办,我很坦诚的告诉她,我每天都在面对比自己优秀的多人中间, 我很康奋,甚至有点紧张,不过我很少和candidate 从心理去沟通过,我都是想用最专业的眼光和规划和他们交流,因为我一直想使自己变的更professional, 我说我的缺点很明显,我普通话不怎么好,但我尝试和用不同方式与别人交流,让别人认可我,我是一个从不放弃的一个,我的努力让我踏实,对事业方面, 我们没有可比性,你很成功,你开的是宝马,如果不是工作的关系,这么高档的咖啡厅我要等几年后才可以光顾。

这个时候她平静了许多,她告诉我,她很少流泪,甚至在丈夫面前,让她苦恼的是,这个多变的社会大家都不按理出牌,你永远不知道别人下一张出什么牌。前面大家都是正人君子,背后刀光键影。 她说不是因为压力,每个行业都有压力,普通的engineer 也有压力,而是在思考选择什么样的生活方式。 只是觉得工作里面有很多恶心的地方。女性在IT这个群体里面还处于弱势群体, 而且永远会是这样。最后她告诉我希望她不是我的candidate,而是她的朋友。咖啡厅里放着轻音乐, 相差一个轮回的两个人就在那边无语的座了半个小时。

学生真的太单纯了,我们大家都没有了解社会恶心的事情,我以后会专门写一些从我的candidates口里听到高层恶心的事情。 其实很有趣, 我是感觉每天我都在拍电影,我终于明白电影来源于生活这句话了。

和网友的交流让我很感动,大家对这群人的陌生,对他们的好奇,还有我们这个不够专业的猎头公司代理的却是最高的职位, 唯一的理由是他们和每个IT公司的高层都很熟,这也是本土猎头公司没发竞争的地方。

取得高薪的主要途径是先在创业型公司锻炼, 最好什么都干, 然后干到中高层!如果你去联想, 没有10年你干不到manager, 如果你去start-up公司也许年就能实现这个关键的一跳! 如果公司上市了, 奖励100-500万的很普遍, 反正是老外的钱! 现在去SOHU的清华学生月薪在2000-3500元, 以前也是这个数, 但期权让他们发了!

今天上午比较忙,连续约了好几个candidate 谈,下午有点困就没有约人过来,老板那边又接到一个单子,180万的年薪,唉!我自己要开公司能接到这样的单子就爽死了,一般一个月就可以搞定,就可以拿到他们年薪的30%,就是54万,而一个公司10个员工总的开支包含office 电话费也就3万,每月平均可以10个case, 当然一般都是60-100万的,赫赫,钱基本被老板拿去, 唉,不平衡,我信有多职位都很有压力,但也有好多职位!

每天就是数钱,例如我的老板,资本家啊,不平衡。今天就谈一下猎头的程序吧,因为我也是新手,了解的也只是很小的一个部分,不过这样我更会真实的记录下来。

猎头英文是headhunter, 专门找head(头)的行业,这里面的头有两方面的意思,一个是智慧,就是那些有才华的人,一个就是头目,一般都是经理,总裁级的人,所以大家会误会猎头公司只是高级中介,其实有点错误,我开始想尝试找一个确切的猎头公司的定义,不过比较难,这个行业一直都是很模糊的定义。猎头找的是那些永远不愁没有工作的人,而中介只是帮那些在找工作和找不到工作的人找工作。

美国发展最规范,而中国只停留在很狭小的范围,而美国,正规的都会包含人员的科学测试和培训,公司机构和人力的咨询等,中国的相对粗造的多,象上海这类公司有400多家,于是就导致好多公司很底的职位都会去代理,而沦落为简单的中介,几个月都拿不到一个大的单子。

好多人都想刚刚毕业就进入这一个行业,几天粗造的了解给我的印象是一个专业的猎头人,要具备Knowledge, Professional, and discernment. 这个行业对猎头的知识的要求是对整个行业的了解, 给你一个case, 你要在半个小时内就要确定搜寻的范围,包含那些公司,那些部门,可以挖到相关的人,然后是professional, 这个不仅仅是猎头这行业,其它所有行业都这样,外在要穿着方面,内在沟通方式,你的职业性会让公司对你有信心,给你更多的单子,让你的candidate更愿意把自己托付给你。最后的scernment是出成果最重要的一环,你要对你推荐的candidate给出至少70%以上的判断, 这方面每个人用的方法不同,有的喜欢打听candidate 的身边的人,有的喜欢用test, 而我个人比较喜欢面视时的聊天,当然有些人很会谈,很会包装自己,不过猎头都比较喜欢没有包装的真实的你,其实这样对公司也是对个人负责,因为工作是长期的 所以我一般都会选择那些just be yourself的人。所以刚刚毕业的学生可以做这一行,但很有难度,例如我,几乎每天都在学习,和每个经理人聊天都是在给自己上课,只是我适应的比较快。

还有我特地想提到的是大家不要频繁跳巢,昨天我推给公司的两

2005全球20大网络安全隐患

0

分类 : 技术文摘 | 发表时间 02-01-2006

国外消息,计算机安全研究组织SANS日前发布了2005年“20大互联网安全隐患”排行榜。据榜单显示,杀毒软件扫描引擎、web应用、微软产品,以及思科网络产品所存在的漏洞均被列入20大威胁之列。此次,该排行榜不仅列举出Windows和UNIX所存在的漏洞,还首次列出了跨平台应用和网络产品所存在的安全隐患。

以下为SANS此次评出的2005年“20大互联网安全隐患”排名:
 五大Windows(相关文章:优化64位平台 微软计划开发新Windows)安全隐患:
 1.Windows服务
 2.IE浏览器
 3.Windows Libraries
 4.Office和Outlook
 5.Windows配置隐患
 十大跨平台应用隐患:
 1.备份软件
 2.防病毒软件
 3.PHP应用
 4.数据库软件
 5.文件共享应用
 6.DNS软件
 7.媒体播放器
 8.即时消息应用
 9.Mozilla和Firefox浏览器
 10.其他跨平台应用
二大UNIX(相关文章:Mac OS X系统漏洞多 苹果公司修补不断)安全隐患:
1.UNIX配置隐患
2.Mac OS X系统
三大网络产品隐患:
1.思科IOS及非IOS产品
2.Juniper、CheckPoin和赛门铁克的网络产品
3.思科的设备配置隐患

无觅相关文章插件,快速提升流量