最新评论
[quote]yongfa365:
@菩提树下的杨过
你说的我知道,但我还是不知道怎么操作,能详细说下不[/quote]
http://www.cnblogs.com/yjmyzz/archive/2010/03/24/1693934.html
参考这里面的"3.3 MIME类型/ContentType校验"
@菩提树下的杨过
你说的我知道,但我还是不知道怎么操作,能详细说下不
[quote]菩提树下的杨过:
[quote]yongfa365:自己的机器可以禁止脚本,虚拟机用户呢,不知道微软有没有出相关补丁[/quote]
虚拟机用户,在服务端保存上传文件前,先做MIME类型检测就行了,文件扩展名可以伪装,但是MIME要伪装就不是那么容易了
其实这类bug,已经存在近10年了,早在asp年代"无组件无惧上传类"里就有了,检测MIME类型+服务端安全设置,这是根本解决之道[/quote]
如何检测mime类型,还请不吝指教
上传到服务器上的文件一般都会被重命名吧 那样就没有;了
[quote]yongfa365:自己的机器可以禁止脚本,虚拟机用户呢,不知道微软有没有出相关补丁[/quote]
虚拟机用户,在服务端保存上传文件前,先做MIME类型检测就行了,文件扩展名可以伪装,但是MIME要伪装就不是那么容易了
其实这类bug,已经存在近10年了,早在asp年代"无组件无惧上传类"里就有了,检测MIME类型+服务端安全设置,这是根本解决之道
自己的机器可以禁止脚本,虚拟机用户呢,不知道微软有没有出相关补丁
补充一种情况。
如果黑客创建一个"1.asp"目录,
再在目录下上传2.jpg文件,也会以asp脚本方式运行。
即:/1.asp/2.jpg
老bug了。
[quote]十二月的雪:
对上传文件名进行检查可以么?
关于楼上,读取和运行时同一权限,不可以单独禁止[/quote]
我说的是IIS中的脚本执行权限,非NTFS的文件夹权限
与其说是IIS漏洞,不如说是上传文件漏洞,同样的漏洞发生在提交特定分隔符数据至Access数据库时,出现的特权漏洞。
早就有了,写程序时要注意~
这个早知道了,并且使用该漏洞进行入侵的例子有很多了。
对上传文件名进行检查可以么?
关于楼上,读取和运行时同一权限,不可以单独禁止
asp,貌似现在玩.net的管理员一般都不安装这个的吧?
其实根本在于:把上传文件全部集中到一个目录,然后不给这个目录执行权限就行了,不管你传什么木马上去,运行不了,也就不能害人了,这是最彻底的办法
好像有了好一阵了,这是IIS解析的问题,貌似去年10月左右就有了,你找找网上有没有解决方案吧
其实你的程序根本就没有问题. 有问题的的确就是SILVERLIGHT本身.
我猜它的异步模型有点延迟, 或者是故意让CPU和磁盘无法用尽.
@Lostinet-Name
其实用SilverLight来做高速的大文件上传,应该还是比较好实现的,不过受限于Silverlight对WCF的支持,使得效率不高。
但Silverlight是支持多线程的,(没做过flash开发,不知flash中有没有多线程),我们可以开N个线程同时上传,只要在上传时进行好编号 ,再做服务端进行拼接也是可行的。我想这样子上传速度应该会提高很多吧。
@Lostinet-Name
首先你这样的测试我认为是不全面的。
先说说我那上传的实现。Silverlight客户端获取一个FileInfo对象,然后读取指定大小(SingleUpLoadSize--每次上传读取的文件内容Size,我这里设成了1024*100字节)文件内容,将其转换为byte[],然后调用WCF写入到服务器端。。。
SingleUpLoadSize这个值是设置的,如果是在一个高速的环境下,你可以将它设成4MB,10MB或更高都行。。
另外Silverlight对WCF的支持也不够全,,只能用Basichttpbinding, 并且只支持会话服务。
@Jon.Hong :
我也做了一个支持Silverlight2的上传组件 AjaxUploader.com
(自动模式下,Flash8/9的优先级比Silverlight2高 , Flash10的优先级低,要测试Silverlight2,最好是直接安装Flash10)
采用的就是拆分上传的方法.
不过Flash能做到本地20M的上传速度, 而Silverlight只能做到4M左右, (CPU和硬盘都没法用尽...)
我测试过你的代码, 不到1M每秒.
http://www.cnblogs.com/T-MAC/archive/2008/09/24/1298179.html
这是我用SilverLight +WCF写的大文件上传组件,不知能否入楼主的法眼。。
Silverlight对wcf的支持还是很弱,这点真的有点遗憾
flash上传大文件应该可以“借用"一些uushare.com里面的那个吧
大文件上传并不一定要用到flash的,现在有很多的大文件上传的方法,客户端不需要做什么特别的东西,只要服务端支持就OK了,当然啦,如果客户端使用控件的方式会更高效,像QQ邮箱的上传工具.
说实在的,这次silverlight的发布实在不能让人感觉到振奋,倒像是为了纯粹赶项目的deadline而推出的。
首先sdk就不多说了,该不支持的还是不支持,虽说dlr是个优势,但是出点异常很难像调试asp.net或其它项目那样很准确,有时候一个异常很难帮助你模到头脑。
至于silverlight客户端,本人没权利做过多评价。
以上是以一个开发人员的角度对其的理解。
不能保存成独立的文件是Silverlight的硬伤。
没研究。不过beta版大概真的有问题,我在ms的演示网站上传多个图片就经常中断。
flash不了解,不过如果是大文件,把文件拆分,还可以断点续传也不错啊。
OK javaeye上有相关组件报道 市场占有率也差不多flash要多很多 外加FLASH 10的3D 可能现在silverlight狠难超过flash 但C#语言 整个DLR的语言要比as来的好
被雷到了 一个居民楼 居然都夸环境好
免费的饮料和食物
我除了看见饮水机和几个水果之外
好像没看见啥
也许还有方便面
明明就是一个几条枪的小公司么
看到博主其他的技术Blog
是否也是包装为主
难信其实呢
re: RuntimeEntity Preview Testkli 2008-08-09 18:05
感觉还不错,不过我还有两年才能毕业。留个q57123256
现在还招js的吗 我的联系方式是QQ:549708918
string file=Server.MapPath("myview.htm");
//包含了用户自定义的扩展 , 例如自定义的#指令
MyTemplateService service=new MyTemplateService();
//把一个类的静态方法变成XPath里的 MyService:Xxxx() 函数
service.SetExtension("MyService",typeof(MyService));
//把一个对象的非静态方法变成XPath里的 Controller:Xxxx() 函数
service.SetExtension("Controller",this);
ITemplateTransform transform=TemplateDocument.CreateTransform(file,null,service);
transform.Init();//通常这个在OnInit的时候做.
//输出数据
Dictionary<string, object> roots=new Dictionary<string, object>();
//把对象变成XPath下的 /HttpContext
roots.Add("HttpContext",Context);
roots.Add("Controller",this);
//...更多的根对象
LateBindingNavigator navigator=new LateBindingNavigator(roots);
//把根对象传入Execute方法中,输出到writer去.
transform.Execute(writer,navigator);
请问这个代码需要引用什么才可以使用啊?
一年Asp.Net(C#)开发.
熟悉DHTML的各种对象属性方法.
有AJAX或ASP.NET的经验.
很喜欢js~`
目前正在研究ext
这个控件库实在是太爽了..
想到你们那去.
呵呵..
在珠海工作,有一年半的软件开发工作经验,很希望能够联系上你,希望能够应聘,在MSN上等了好多天都没见你上线,所以给你留个言吧
待遇确实满吸引的
没经验都有2400 一年就4000到哪找去啊
祝博主早日找到合适的人才
应届毕业生,在中山市上学,年后已经没有课了,可以去其他地方直接工作。对这个工作兴趣很大,很想试下。不知道怎么联系。
001over