惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tor Project blog
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
I
InfoQ
The Cloudflare Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
美团技术团队
B
Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
TaoSecurity Blog
TaoSecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
T
Threatpost
H
Heimdal Security Blog
爱范儿
爱范儿
博客园_首页
SecWiki News
SecWiki News
腾讯CDC
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
The Register - Security
The Register - Security
N
News | PayPal Newsroom
Recent Commits to openclaw:main
Recent Commits to openclaw:main
云风的 BLOG
云风的 BLOG
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Security Latest
Security Latest
A
Arctic Wolf
P
Privacy & Cybersecurity Law Blog
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
Schneier on Security
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
Attack and Defense Labs
Attack and Defense Labs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Webroot Blog
Webroot Blog
C
Check Point Blog
Y
Y Combinator Blog
T
The Exploit Database - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
I
Intezer
博客园 - 叶小钗
Cisco Talos Blog
Cisco Talos Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件

博客园 - Kevin Lin

Happy New Year! HTTP状态码大全 [转]jquery的一个模板引擎-zt - Kevin Lin - 博客园 2009年3月 2008年9月-10月 跟ASP.NET MVC一起使用jQuery [摘自千寻网]给鼠标右键增加“见好就收”的功能 ASP.NET 2.0中的URL映射 在.net中使用Gmail发送邮件 [绝对原创]从VS2003(.net1.1)升级到vs2005(.net2.0)全程跟踪记录 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之三 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之一 XNA Game Studio 2.0 Released版 发布了,好像是前几天的事,但园子里似乎没有讯息嘛 向大家推荐一个不错的休闲游戏 VS2003(.net framework1.1)中,如果让日历控件的“星期”去掉? 农历js脚本 - Kevin Lin - 博客园 WEB开发碰到的问题及经验十八则 - Kevin Lin - 博客园 根据分辨率不同调用不同的css文件 - Kevin Lin - 博客园
2008年4月-5月
Kevin Lin · 2008-04-09 · via 博客园 - Kevin Lin

选择 Publish web site后,选择发布地址,可以使ftphttp,或file path

下面的三个选项如下:

1.       Allow this precompiled site to be updatable: 该选项允许*.aspx文件不编译到汇报集里,也就是选中该选项后,你可以改变页面的标记。这个类似于2003,但是有个地方发生了改变。

2.       Use fixed naming and single page assemblies:该选项运行你预编译特定的文件名称的代码。

3.       Enable strong naming on precompiled assemblies:该选项要求生成强命名的程序集。 

Test 1: 都不选

结果:

l         文件夹的结构没有变化,

l         没有.cs文件,.aspx文件都被加密,无法更改和察看。

l         资源文件jsimages都没有变化,web.config没有变化

l         bin目录下生成了一些dll和带后缀为.compiled的文件,除了引用的dll外,项目本身是根据文件夹(这个文件夹里必需有非资源文件)的数量生成相同数量的dllapp_code是主dll,其他以App_Web开头后面的字母属于随机生成。而且每次生成的不一样。每个.compiled对应一个aspx文件。

l         总结:aspx文件无法更改,有多少文件夹基本上就会有多少dll

Test2:选1- Allow this precompiled site to be updatable

l         文件夹的结构没有变化,

l         没有.cs文件,.aspx文件没有变化。

l         资源文件jsimages都没有变化,web.config没有变化

l         bin目录下生成了一些dl文件,除了引用的dll外,项目本身是根据文件夹(这个文件夹里必需有非资源文件)的数量生成相同数量的dllapp_code是主dll,其他以App_Web开头后面的字母属于随机生成。

l         该项除了bin目录生成的文件有点特别外,基本上和vs2003没有区别

l         总结:aspx文件可以更改,有多少文件夹基本上就会有多少dll

上面提到.aspx文件有个地方发生了改变,

此时如果你打开.aspx文件,

<%@ page language="C#" autoeventwireup="true" inherits="MyPage, App_Web_jmvb-kmt" %>

    会发现Page指令中<%@ page language="C#" autoeventwireup="true" inherits="MyPage, App_Web_jmvb-kmt" %>并不包含CodeFile,所以这种编译方式和ASP.NET1.1兼容。

    Page指令的inherits指出了MyPage.aspx的类集为MyPage和汇编集App_Web_jmvb-kmt。换句话说,当系统加载Page也没时,将会到bin文件夹下的App_Web_jmvb-kmt.dll加载MyPage类作为MyPage.aspx后台文件的页面类。

Test3:选2- Use fixed naming and single page assemblies

l         文件夹的结构没有变化,

l         没有.cs文件,.aspx文件都被加密,无法更改和察看。

l         资源文件jsimages都没有变化,web.config没有变化

l         bin目录下生成了一些dll和带后缀为.compiled的文件,除了引用的dll外, app_code是主dll。其他的dll都是一对一的对应一个aspx文件。每个.compiled对应一个aspx文件。每次生成的是一样的后缀。

l         总结:aspx文件无法更改,有多少文件,而不是文件夹,基本上就会有多少dll

Test4:选3- Enable strong naming on precompiled assemblies

这个选项选中后,还有几个附带选项,复选框可以用来实现"延迟签名(delay signing). 有两种使用强命名方式,一为通过利用key文件;二为使用Key Container,这种方式允许你使用RSA Key Containers.可以进行选择.

这种发布结果表面上和Test1是一样的,只是.dll有了强命名。

强命名(strong names) 如果一个assembly需要共享,则其必须使用强命名.一个强命名唯一标识了一个assembly.有四部分组成:1,assembly名称(不包含文件扩展名);2,版本; 3,culture; 4,密钥对(即一个公钥和一个私钥),保存在key文件中,所以说key文件就是同时包含了公钥和私钥的文件,在使用强命名时当然是需要此key文件的.创建key文件用命令: sn -k KeyPair.snk

终结:

1.       第三个选项选不选对程序运行没有什么太大影响(我只做了简单测试),只是生成的程序集是否有强命名,就算更新的时候与更新之前一个有一个没有强命名也没有关系。

2.       如果你想在下次更新的时候,只更新修改过的dll和文件,就需要选择2,如果你没有选2,那么恭喜你,下次更新的时候需要全部更新

3.       如果你想获得安全性最好的,就不要选择1,相反,如果你想更改.aspx,那就要选择1

选择12后,修改aspx页面,没有问题

重新发布选择12 ,替换更换了的dll,更新成功

重新发布选择12 3,替换更换了的dll,更新成功,这说明强命名没有影响

选择2生成,只要替换相应的dll就可以了,这样的话,那其他文件干什么用的呢,占位马,特别是那个. Compiled文件