Browser 如何从浏览器在客户端运行代码?

Browser 如何从浏览器在客户端运行代码?,browser,archive-file,Browser,Archive File,有了LLVM和silverlight,现在就可以做到这一点了(或者用flash也可以做到) 我喜欢用户选择一个文件,然后执行以下操作 1) 用md5和sha1散列它 2) 如果存档,请检查其中是否有exe 3) 如果存档,请检查密码是否受保护 第一个查看用户是否已经上传(今天、昨天、上个月) 第二,预防病毒 第三,我应该没有问题,但如果我决定不允许受保护的档案,我可以在用户上传之前发出警告 如何通过浏览器执行此操作?您可以使用Java或Flash跨多个平台执行此操作 如果您只关心在Windows

有了LLVM和silverlight,现在就可以做到这一点了(或者用flash也可以做到)

我喜欢用户选择一个文件,然后执行以下操作 1) 用md5和sha1散列它 2) 如果存档,请检查其中是否有exe 3) 如果存档,请检查密码是否受保护

第一个查看用户是否已经上传(今天、昨天、上个月) 第二,预防病毒 第三,我应该没有问题,但如果我决定不允许受保护的档案,我可以在用户上传之前发出警告


如何通过浏览器执行此操作?

您可以使用Java或Flash跨多个平台执行此操作


如果您只关心在Windows上执行此操作,则可以使用2或Silverlight、嵌入式WPF页面、嵌入式Windows窗体页面或ActiveX控件来执行此操作。

您可以使用正在进行的HTML 5文件API。请特别注意。然而,在这种情况下,我认为这是浪费时间。无论如何,您都必须在服务器上重新执行所有这些检查(永远不要信任客户端)。

这就是为什么我希望silverlight或llvm能够做到这一点。我听说mono可以将.net代码编译到LLVM,这样服务器端的C#就可以作为客户端的代码使用。@Acid,如果使用任何客户端验证(HTML、Silverlight、Flash等),则必须验证两次。这增加了不必要的延迟,但带来的好处却微乎其微,因为大部分上传都是有效的。客户端验证对于容易发生事故的字段的快速测试最为有用。根据用户速度和文件大小,可能需要20分钟以上的时间才能发现您上载了带有exe的zip,或者对站点不允许在存档中使用密码感到惊讶。您对Silverlight了解多少?我可以像flash那样运行代码而不通知用户,但不像activeX那样需要运行不安全的代码并请求用户执行DL吗?我可以将.NET libs与Silverlight一起使用吗?我希望我可以使用sevenzip或类似的工具来检查zip或rar文件的内容。Silverlight没有做过很多工作,但一旦他们安装了插件(如果没有插件,他们会被要求这样做),它就会像flash一样自动在页面上运行。