跟踪 Office 文档阅读情况的一个小办法

春节一天天临近,办公室的同事越来越少,领导在最后几天也不会安排什么工作,所以留守的人员虽然无聊,倒也轻松,上网找找春节好玩的地方,看看小说,向朋友发春节贺卡,当然也少不了游戏比拼

言归正传了,写写文档阅读跟踪的心得,如果你有一些需要保护的文档,在某些情况下需要发给其它人查看,但期望跟踪了解此文档的使用情况,如是否由企业外部人员查看,是否被大规模扩散等,一般较为严格的保护措施有:

  • 给 Office 文档设置查看/修改密码
  • 转成 PDF 格式并加安全设置
  • 利用 RMS 来限制访问

但有些特定的情况下,不适宜给文档设置如上安全特性,如发给老总的文档或其它部门的办公文档,即要确认是否阅读,又要保证文档不会外泄。如下的这个小技巧也许是解决此类问题的一个好办法:

在文档的任意处(一般是在结尾处),点击“插入”---“对象”,选择“由文件创建创建”,然后输入自己编写的跟踪程序的 URL 地址,如 http://ZZZ.YYY/track.asp,并选中“链接到文件”复选框,然后确认退出,这时会在文档中生成一个较大的透明对象,将其缩小到不易发现的大小即可。

至于 ASP  跟踪程序里就比较自由了,由您来把握了了,一般如下语句是不能少的:

INSERT INTO Track(IP,HostName,UserName,Agent,ViewDateTime)
VALUES(
‘” & Request.ServerVariables(“REMOTE_ADDR”) & “‘,'” & Request.ServerVariables(“REMOTE_HOST”) & “‘,'” & Request.ServerVariables(“REMOTE_USER”) & “‘,'” & Request.ServerVariables(“HTTP_USER_AGENT”) & “‘,'” & Now & “‘)”

在对方接收到文档并打开查看时,不同版本的 Office 会有不同的效果:

  • Office 2000/XP 版本:系统会“隐式地”(只在状态栏上显示进度)自动更文档中的链接,这样对方一般不会发现已被“跟踪”。
  • Office 2003 版本:系统会“显式地”(弹出一个对话框,确认用户是否更新文档中的链接)地更新链接,一般用户不会想到这是一个跟踪链接而点击“确认”,少量知情或不知情用户可能会选择“取消”(看完这篇文章的人都变成知情用户了 ),这样就无法跟踪了,但估计这个比例小于 10%。

如果你要同时跟踪内部用户和外部用户,那最好在文档中插入两个跟踪连接,然后分别在内网和外网部署跟踪程序。

“跟踪 Office 文档阅读情况的一个小办法”的16个回复

  1. 想请教1下,用来做track的page的IIS的安全性应该怎么set呢?是匿名还是什么?
    如果是匿名,请问怎么取得用户的机器名呢?(Remote_USer得到的是null)
    谢谢

  2. 想法不错。
    不过,不适合以下人员:
    A)不能上网的人就不能跟踪到。
    B)使用其他方式打开WORD文档的人就能被跟踪到,比如用PDA打开的人。

  3. To: Seamanhong

    肯定要设置成 Anonymous ,要不然岂不被发现了? 😛

    当然也可以选择 Anonymous + Windows 集成验证,这样在此用户已登录域的情况下,是可以取得用户名的,所以 track 程序也只能是碰运气,能抓到就抓,抓不到也没有办法,一般来说,通过 IP 地址和 User-Agent 应该能得到不少信息。

    TO 马骏

    能过 PDA 打开 Word 文档的人,我估计还不多。另外我自己加 track 程序,也主要是跟踪一些商业敏感的文档扩散,也主要是公司里的用户,而不是以个人用户为主,所以上网条件大多数情况下都能得到保证,还是上面那句话,能抓到就抓,抓不到也没有办法 😛

    --------------

    不是加了验证码了吗?怎么刚才又有了 Comment Spam ?

  4. TO Ginn:

    OpenOffice/StarOffice 没有条件测试, Word Viewer 和相应版本的 Word 的处理方式相同。

  5. @moslem

    “当然也可以选择 Anonymous + Windows 集成验证,这样在此用户已登录域的情况下,是可以取得用户名的”

    Are you sure?? 据我所知,IE只有在anonymous访问失败才会negotiate NTLM或Kerberos验证。只要anonymous开着就永远不会用到integrated windows authentication,也得不到用户名……

  6. @ Wang Ting

    是我记错了,如果设置了 Anonymous 是无法取到用户名的。

    如果企业基础环境是域环境(所有用户须在开机时进入域),这样可以把 IIS 设置成 Windows Integrated Auth ,这样一定能取到用户名,而且避免了没有身份信息而弹出的登录对话框。

    具体的一些设置回头我找个域环境再试验试验。

  7. 在域环境中,把IIS设成"集成windows验证",当打开doc时更新link很快就完了,但是track没有反应,可能是由于更新时连接不上那个URL(是否IIS的安全设置引起的?)

  8. 我把我的事情和你们说一下:
    我是做业务的,今天早上因为赶着去参加一个会议,忘了把文件夹锁上了!等我回来的时候,我有一个同事正在用我的笔记本玩游戏呢!晕!
    所以请教各位高手,我如何才能知道别人是否看过我的文件?我现在已经把那个XML文档(上面有一个文件夹)复制粘贴到另一个文件夹里面去了!

  9. 不行啊,我插入了一个INTERNET地址后,选中了由文件链接,还是不行啊。
    说不是有效的文件名。

    我得WORD版本是 9.0.2812

  10. Pingback: 日置
  11. Pingback: 转速表
  12. Pingback: 气体检测仪
  13. Pingback: 粘度计

评论已关闭。