能力值:
( LV5,RANK:70 )
|
-
-
2 楼
R3下LSP R0可以各种网络过滤驱动,如TDI...
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
没太大意义^万一人家加密传输呢……
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我目前想到的是,HOOK NtCreateFile,和文件的读写
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
怎么总是会有这种nc的想法……根本不可能实现的功能……还n多人会有这种想法,太多人连基本常识都没了
举例来说,你凭什么就知道一个程序读了一个文件后,它读出来的数据就是网络传出去了?你凭什么就认为某个数据包里的数据就是传的文件里的数据,就不是我自己构造的数据?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
如果按照正常思路走的话,任何一个文件在以读的方式打开的时候,都有可能是传输文件的,这样理解对吗
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
监控读文件,可以;
监控网络上传,也可以.
但是监控读了文件之后上传,就不简单了这
难不成这样: 监控读文件,维护一个表,记录什么进程读了什么文件;同时监控网络,某进程访问网络的时候,看这个进程是否在之前维护的那个表中,在的话,对比一下数据包跟文件内容.
但是数据加密的话,就没辙了
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
不是不简单,是根本没有实现的可能性……发送数据到网络,那个纯粹是buf操作,根本没有任何可能与之前的某个读或者写关联起来……人家这个buf可能是经过n个地方处理,转了n个进程以及线程,最后才走到发送这一步……然后发送,人家也未必按照读写的顺序发送接收……根本就是一件异想天开的事情
某句话还是不错的……什么样的基础就问的出什么样的问题……所以一般我要是面试,我很少问别人问题,我一般让别人问我问题
又忍不住感叹了下,虽然与这篇帖子的初衷关系不大了……实际上现在太多人过于急功近利了,刚学了改写只读属性的内存,马上想着做挂钩,写外挂了,然后还可以很不屑的,”xxx也不过如此尔尔”
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
看了楼上的回复。
觉得现在楼主只能用一种方法:根据你定的名单扫进程,发现存在有进程,看它的上传速度,如果很快,一般大于几十K,认定它在上传。不过这样风险很大,另外不一定监控得到,而且也不能确定它在上传什么
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
--sunfruit
很多时候需要上传附件到服务器,一般采用在页面放置<input type="file" name="upload" value=""> 的方式让用户选择要上传的文件进行上传,使用的是HTTP协议,这样的方式很方便开发也简单,不过如果上传的附件比较大的时候,会出现IE响应很慢的情况,如果用户急性子,多点几下上传的按钮,那么就会导致IE不响应的情况,这个时候如果在文件上传得过程中,给用户一个动态的提示甚至是一个上传的进度条,效果就会好多了,这样就会用到Ajax技术了,让Ajax以一个固定的间隔时间检查上传情况然后在页面以文字或是图片的方式体现出来就行了。
在使用Ajax进行附件上传进度查询的时候也想过,直接使用Ajax进行附件上传,在实现过程中发现问题比较多,所以就使用了变通的方式:使用标准的附件上传方式,结合Ajax进行上传的进度检查
主要的代码如下:
Ajax的封装
/**
* 创建 XMLHttpRequest 对象
*/
function getXMLHttpRequest()
{
var http_request;
if (window.XMLHttpRequest) {
//非IE浏览器框架创建 XMLHttpRequest 对象
http_request = new XMLHttpRequest();
if(http_request.overrideMimeType)
{
http_request.overrideMimeType('text/xml');
}
}else if (window.ActiveXObject){
// 创建 XMLHttpRequest 对象
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
// 不能创建 XMLHttpRequest 对象
}
}
}
return http_request;
}
/**
* Get请求
*/
function sendGetDictate(http_request,url)
{
req.open("GET", url, true);
http_request.send(null);
}
以上是Ajax的的基础部分,下面说文件上传部分的检查部分,文件上传本身的流程不变,只是在提交上传以后,需要执行setTimeout(checkupload,500); 这样的方法 checkupload 方法要自己编写,例如
function checkupload()
{
req=getXMLHttpRequest();
req.onreadystatechange = setActiveContent;
sendGetDictate(req,"/manager/servlet/imageservlet?tag=ajaxuploadfilecheck&WARE_ID=609187669&nocache="+Math.random(),"name=111");
}
然后需要编写setActiveContent方法,例如
var count=0; //防止无限循环,并且在页面提交上传得时候设置为0
function setActiveContent()
{
if (req.readyState == 4) {
if (req.status == 200) {
var rettext=req.responseText; //这里是servlet返回的内容,检查上传得状态,可以在javabean或是servlet里面设置全局的静态变量来表明上传状态
if(rettext=="-1")
{
//停止循环
alert("服务器更新错误");
}
else if(rettext=="0")
{
//继续循环检查
if(count<6)
{
setTimeout("checkupload()",500);
count++;
}
else
{
alert("上传失败");
}
}
else if(rettext=="1")
{
alert("文件上传成功");
}
}
}
}
基本流程就是这样了,至于文字表现上传过程还是进度条表现,就看自己了
posted on 2006-08-10 11:11 sunfruit 阅读(1938) 评论(5) 编辑 收藏 所属分类: Ajax
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
不好意思已经实现了,但加密的文件数据获取不到,谢谢各位
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
咋实现的?说说。我也想学学。。
|
|
|