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

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - 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文件