WEB FTP EMAIL的服务器的安全配置精品资料.doc
-
资源ID:96698095
资源大小:1.34MB
全文页数:43页
- 资源格式: DOC
下载积分:20金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
WEB FTP EMAIL的服务器的安全配置精品资料.doc
WEB+FTP+EMAIL的服务器的安全配置一、 实验目的a.掌握WEB服务器的安全配置b. 掌握FTP服务器的安全配置c. 掌握EMAIL服务器的安全配置二、 实验步骤a、IIS 和WEB 站点文件夹权限配置各种相关安全问题,实现各个虚拟主机目录有独立权限的访问机制,我们要给每个目录分配一个匿名访问的用户帐号。依次右击桌面我的电脑->管理->本地用户与组,然后新建一个用户IISUSER_01,选中用户不能更改密码和密码永不过期,去掉其余两项复选。 如图(1):新建用户新增用户后因为默认新增用户自动加入Users 组内,要分别去除掉它们User组的图(2): 组权限设置设置完成后,为了方便统一划分WEB 站点匿名访问用户的权限,再新建一个用户组,例如为IISUSER_GROUP,把IISUSER_01用户添加到IISUSER_GROUP组内。如图(3):用户和组设置好后,我们再次打开d盘的wwwroot,右击website1文件夹在属性配置的安全选项里,添加IISUSER_01 用户权限(如果是单纯的HTML 站点可以只给读取权限即可,如果是ASP+ACESS 数据库或需要进行FSO 操作的站点,同时还需要加上"写入"权限或一般我们将“完_全控制”权给IISUSER_01用户:图(3): 文件夹属性如果想进行更严密的安全配置,可以设置IISUSER_01用户在website1目录的权限为读取,在需要更新或写入操作的图片上传目录或数据库目录上才赋予写入权限,这样更为安全。虽然跨站后没有权限修改,但比如用海洋顶端的文件夹打包功能,仍能进行跨站浏览系统磁盘及打包操作并下载!解决的方法是,右击C 和D 盘符选择属性中的安全选项,添加刚才我们建立的用户组(包含有IISUSER_01或新增的其它WEB网站目录用户),禁止该组的所有操作权限。(注意子目录继承权限的设置,WebSite1目录不要继承父目录的该权限。)如图(4) : 盘符属性 :这样一来,每个站点的浏览者(匿名访问用户)也只能对该站目录内文件进行一定的权限操作,即使ASP木马上传到其中一个网站目录,不会对别的站点造成任何影响,更不会对服务器的安全有任何危险。文件夹安全配置完后,我们下一步将进行IIS 的配置。首先打开IIS 管理器主目录,为了方便统一管理,将默认站点重命名为WebSite1 并将主目录指向D:wwwrootWebSite1目录。如图(5) :然后点击本窗口的配置按钮进入应用程序配置,在应用程序扩展栏中删除必须之外的任何无用映射,如图(5):: 应用程序配置,一般的WEB服务器应用有了其中两个映射就够了,其它的映射在以往的自由微软漏洞中都发生过太多的安全漏洞事件,在脚本错误的错误消息选项中,选中向客户端发送下列文本错误消息项。如图(6): 应用程序配置-调试否则ASP 脚本出错时,出错信息很可能会向客户端显示你的数据库路径(即黑客常说的暴库),程序代码,结构,参数等重要信息。为了避免cgi漏洞扫描器扫描到IIS漏洞的安全隐患,在IIS管理面板中将HTTP404 Object Not Found 出错页面通过URL 重定向到一个定制HTM 文件,我们可以更改C:/WINDOWS/Help/iisHelp/common/404b.htm内容改为:<METAhttp-equiv="REFRESH" content="5;URL=您的网站首页">,或者可在IIS 管理面板中的自定义错误栏修改404错误页的HTML 文件路径并做相应修改,如图(7): 404错误页重定向最后,我们还要把之前在为该站点建立的匿名用户帐号绑定到此站点的目录安全性中的访问权限来。打开站点的属性页中的"目录安全性"选项卡, 点身份验证和访问控制的"编辑",如图(7)IIS目录安全性勾选启用匿名访问,并点击该栏的浏览按钮,选择我们之前为此站点(WebSite1)分配的匿名用户帐号IISUSER_01,如图(8)IIS匿名访问输入该用户的口令,提示再次输入确认密码。经过设置匿名访问帐号后,"WebSite1"网站的用户,使用 ASP 的 FileSystemObject 组件或其它木马程序入侵攻击服务器时,也只能访问“WebSite1”的网站目录:d:wwwrootWebSite1 下的内容,当试图访问其他内容时,会出现诸如"没有权限"、"硬盘未准备好"、"500 服务器内部错误"等出错提示了,如果WEB服务器需要放置多个WEB站点,在这里以建立两个网站分别为 和 为例。首先将www. 和 两个域名的DNS 解析到服务器的IP 地址。点击IP地址的高级按钮,修改IP地址的主机头为www. 。这样,第一个站点就设置成功了,接着我们可以继续添加第二个站点了,最后,备份IIS 的配置,如图(27):200K的大小是不能满足我们站点的需求的,解决的方法如下:但要实现功能强大的应用于internet的服务器,单单仅WEB功能还是不够的,为了日常的文件上传下载及维护管理,我们还要架设功能强大的FTP服务器!(b)、FTP 服务器安全权限配置FTP服务器端软件采用SERV-U6.0.2软件,安装并进行汉化SERVU 默认是安装在C:Program FilesServ-U 目录下的,我们最好做一下变动。安装并汉化完成后,启动主界面。图(11): SERVU主界面点击“设置/更改密码”,因为是第一次使用,所以是没有密码的,也就是说原来的密码为空。如图(22): 设置更改管理员密码不用在旧密码里输入字符,直接在下面的新密码和重复新密码里输入同样的密码再点OK就可以了。这里建议设置一个足够复杂的密码,以防止别人暴力破解。自己记不得也没有关系,只要把ServUDaemon.ini 里的LocalSetupPassword= 这一行清除并保存, 再次运行ServUAdmin.exe就不会提示你输入密码登录了。serv-u默认管理账号是LocalAdministrator,默认密码是"#l$ak#.lk;0P",这个密码在同一个版本中是固定的,也许在不同的版本中也是固定的。LocalAdministrator,把默认的管理员帐号改成其它同长度的字符串就可以了。#l$ak#.lk;0P的意思是指空密码,这个可以不用改动,ServUAdmin.exe也一样处理即可。做完上面这一步,同时还要注意设置Serv-U 安装目录的权限限时还图(33): 新增FTP访问帐号建好账号以后,双击建好的用户编辑用户属性,从“隶属于”里删除USERS组。图(44): FTP组权限设置这里我们已经建好了账号。现在就要用到刚才建立的这个账号。打开管理工具中的服务。在“Serv-U FTP Server服务”上右击选择属性继续。图(55): 服务启动权限然后点击“登录”进入登录账号选择界面。选择刚才建立的系统账号名,并在下面重复输入2次该账号的密码,然后点“应用”,再次点确定,完成服务的设置。图(55): 服务启动帐号接下来要先使用FTP管理工具建立一个域,再建立一个账号,建好后选择保存在注册表。图(66): FTP帐号设置接着,打开注册表来设置相应的权限,否则SERVU是没办法启动的。在开始运行里输入regedt32 点“确定”继续。找到HKEY_LOCAL_MACHINESOFTWARECat Soft分支。在上面点右键,选择权限,然后点高级,取消允许父项的继承权限传播到该对象和所有子对象,包括那些在此明确定义的项目选项,点击“应用”继续,接着删除所有的账号。接着点击添加按钮增加系统管理员Administrator帐号和我们建立的ServFTP账号到该子键的权限列表里,并给予完全控制权限。图(77): 注册表权限到这里注册表已经设置完了。接着再进行安装目录的权限设置。现在就来设置一下,只保留你的系统管理员账号和ServFTP账号,并给予ServFTP帐号除了完全控制外的所有权限。图(88): 安装目录权限FTP 服务器设置全部结束.(c)、Email 服务器安全权限配置(一)安装MDaemon下载后,关闭机器上其它应用程序,运行installation直到注册信息界面。注册信息,如图(A):注册信息在这里,键入用户名称、公司名字和系列号,如果没有系列号可以不填,安装程序会自动生成一个30天有效的验证码,然后点击“Next”。(二)准备安装!这里没有选项,只要点击“Next”,MDaemon 文件将copy 到你的硬盘上,将占用几分钟时间。输入你的域名,如图(B):输入域名在这里要填写你的主域名,当然,安装完成后你还可以继续添加多个域名。在这里,我输入(不要输入www前缀),然后点击“Next”。接着建立第一个帐户,图(C): 建立帐户这一步建议你输入一个负责管理MDaemon 服务器的帐户名,这个账户将成为“postmaster”具有所有管理权限。注意,密码是强密码方式,必须包括大小写字母和数字、长度至少为6位。进入到DNS配置,图(D): DNS配置选择“Use Windows DNS settings”,但是如果你有自己的ISP的DNS,在这里输入它的IP地址。假如只有一个主DNS设置,它也可以正常使用,如果有备份DNS,最好也要填写。接着是操作界面模式选择,如图(E):操作界面模式建议在服务器运行前选择“Run MDaemon in Easy mode”,运行MDaemon 之后,改变模式是很简单的,当然,如果你想全面的体验zemon 强大的管理功能,也可以选择Adv高级模式,这里点击“Next”。建立系统服务,让邮件服务在系统启动时自动运行,图(47): 系统服务方式运行激活这个选项。作为服务器,MDaemon即使没有用户登录在也要在后台运行。这非常重要,因为你的MDaemon始终保持运行,你的用户才能在他们需要的时候接收到邮件,点击“Next”安装完成!如图(F):安装完成点击“Finish”完成安装,然后启动MDaemon,假如需要重启,你将被提示。(三)安装MDaemon 服务器后的配置完成了MDaemon 的安装,你的MDaemon 服务器会自动启动,然后最小化,在时钟边上出现一个白色信封标志。(四)打开并设置MDaemon 邮件系统1、用户建立新的账号2、配置拨号ISP(使用路由则不需要)3、 配置邮件系统的DomainPOP4、配置用户的客户端PC使用MDaemon收发邮件先建立新帐户,图(G): 新增邮件帐户对于每一个email用户,都需要在MDaemon上建立账户。选择“Account”菜单下“AccountManager”,可以看到两个账户列表。一个是MDaemon系统账户,你可以忽略。另一个是你在安装时建立的账户。添加新的账户,点击“New”按钮后将看到下面的界面:输入用户的“Full name”、“Mailbox name”和他们的“Account password ”。默认情况下密码需要强密码,包括大小写字母和数字,至少6 位。你将注意到当你键入你的名字时,MDaemon 将会自动使用你的名字建立,你也可以在你建立账户的时候直接输入你的邮箱名。(四)安装配置MDaemon 完成你现在拥有一个配置完整的MDaemon邮件服务器。下一步需要在你的用户主机上配置和测试一个邮件用户。(五)aemon 其它技巧、多域名邮箱设置确保已建立好了第一个邮件服务器 然后照以下步骤设置。1)进入MD管理器(即MD的Message Router)2)选SETUP菜单中的Secondary Domain3)在相应文字框中输入域名和IP地址(同主IP一样)4)在左边框架中即可看到新建立好的邮件服务器,再添加帐号、让WorldClient运行在IIS6上 许匿名访问网站,这样,我们的EMAIL系统相对来说,就安全多了。最后,我们打开MDaemon 的高级管理界面, Setup 菜单中WorldClient.项,勾选中WorldClient is running under IIS即可,重启一下MDaemon 和IIS 系统。这时,我们可以直接在IE 地址栏输入就可以访问到MDaemon邮局的首页了,到这里,我们的EMAIL服务系统就配置完成三、 实验遇到的问题在做这个的实验,没有遇到什么问题,感觉这次的实验不怎么难,课前预习了。四、 实验小结通过这次的实验,我掌握WEB+FTP+EMAIL服务器的安全配置,进一步的去掌握了,在课前认真的复习,是很有帮助的,这样的话,就不会对这个实验感到无从下手了,所以说,课前预习很重要的,正是因为课前的预习,让我在做实验的时候更加的有信心了。附录资料:web前端面试题1. W3C标准有哪些? W3C推行的主要规范有HTML,CSS,XML,XHTML和DOM(Document Object Model)。2. 谈谈Js的内存泄露问题。3. 谈谈对Html 5的了解。4. 谈谈对CSS 3的了解。5. 用js实现随即选取10-100之间的10个数字,存入一个数组,并排序。var iArray = ; funtion getRandom(istart, iend) var iChoice = istart - iend +1; return Math.floor(Math.random() * iChoice + istart;for(var i=0; i<10; i+) iArray.push(getRandom(10,100);iArray.sort();6. 把两个数组合并,并删除第二个元素。var array1 = 'a','b','c'var bArray = 'd','e','f'var cArray = array1.concat(bArray);cArray.splice(1,1);7. Js面向对象的几种方式。8. 请谈谈原型方式构造对象的特点。9. 在Css中那个属性会影响dom读取文档流的顺序。答: float属性。10. 请介绍几种用div实现两列布局的方案(兼容),另外要考虑文档流的加载。11. 谈谈css在浏览器中的兼容问题,详细谈谈IE6的一些bug,以及解决方案。12. 谈谈你对闭包的理解。以及如何实现js方法的重写。HTML && CSS1.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 首先我讲讲如何触发两种模式: 加入xml头部声明可以触发IE浏览器的Quirks mode,触发之后,浏览器解析方式就和IE5.5一样,拥有IE5.5一样的bug和其他问题,行为(Javascript)也是如此。 IE6的触发 在XHTML的DOCTYPE前加入XML声明 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Strict/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> IE7的触发 在XML声明和XHTML的DOCTYPE之间加入HTML注释 <?xml version="1.0" encoding="utf-8"?> <!- . and keep IE7 in quirks mode -> <!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Strict/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> IE6和IE7都可以触发的 在HTML4.01的DOCTYPE文档头部加入HTML注释 <!- quirks mode -> <!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01/EN" "http:/www.w3.org/TR/html4/strict.dtd"> 其次是这样的意义 各个浏览器的混杂模式,基本就是各个浏览器的私有模式,不相互兼容。所以,除非是为了兼容的问题,比如你不想修改很久很久以前做的IE ONLY的网页,否则刻意触发混杂模式没有任何意义。2:行内元素有哪些?块级元素有哪些?CSS的盒模型?一.行内元素和块级元素有哪些?块级元素<address>information on author<blockquote>long quotation<button>push button<caption>table caption<dd>definition description<del>deleted text<div>generic language/style container<dl>definition list<dt>definition term<fieldset>form control group<form>interactive form<h1>heading<h2>heading<h3>heading<h4>heading<h5>heading<h6>heading<hr>horizontal rule<iframe>inline subwindow<ins>inserted text<legend>fieldset legend<li>list item<map>client-side image map<noframes>alternate content container for non frame-based rendering<noscript>alternate content container for non script-based rendering<object>generic embedded object<ol>ordered list<p>paragraph<pre>preformatted text<table>table<tbody>table body<td>table data cell<tfoot>table footer<th>table header cell<thead>table header<tr>table row<ul>unordered list 行内元素<a>anchor<abbr>abbreviated form<acronym>acronym<b>bold text style<bdo>I18N BiDi over-ride<big>large text style<br>forced line break<button>push button<cite>citation<code>computer code fragment<del>deleted text<dfn>instance definition<em>emphasis<i>italic text style<iframe>inline subwindow<img>Embedded image<input>form control<ins>inserted text<kbd>text to be entered by the user<label>form field label text<map>client-side image map<object>generic embedded object<q>short inline quotation<samp>sample program output, scripts, etc.<select>option selector<small>small text style<span>generic language/style container<strong>strong emphasis<sub>subscript<sup>superscript<textarea>multi-line text field<tt>teletype or monospaced text style<var>instance of a variable or program argument 二.行内元素与块级元素有什么不同?1.尺寸-块级元素和行内元素之间的一个重要的不同点 行内元素和widthW3C CSS2 标准规定行内元素、非置换元素不会应用width属性。以下例子中,对行内元素<a>应用了width:200px,你可以看到,根本就没有什么效果。行内元素和heightW3C CSS2 标准规定行内元素、非置换元素不会应用height属性,但是盒子高度可以通过line-height来指定。以下例子,对行内元素<a>应用了height:50px,你可以看到什么效果都没。行内元素和padding你可以给行内元素设置padding,但只有padding-left和padding-right生效。以下例子,行内元素<a>应用了padding:50px。你可以看到对左右的内容有影响,但是对上下没影响。行内元素和margingmargin属性也是和padding属性一样,对行内元素左右有效,上下无效。下面的例子,对<a>应用了margin:50px,你可以看到左右边缘是生效了但是内容上下却没有。 记住对行内元素设置宽度width 无效。设置高度height 无效,可以通过line-height来设置。设置margin 只有左右margin有效,上下无效。设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的,看图上效果就知道了 盒子模型W3C 组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层。盒模型主 要定义四个区域:内容(content)、边框距(padding)、边界(border)和边距(margin)。对于初学者,经常会搞不清楚 margin,background-color,background- image,padding,content,border之间的层次、关系和相互影响。这里提供一张盒模型的3D示意图,希望便于你的理解和记忆。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin)。盒模型的实际宽度关于盒模型,还有以下几点需要注意:·对于块级元素(display:block),未浮动的垂直相邻元素的上边界和下边界会被压缩,例如:有上下2个元素,上元素的下边界为5px,下面元素的上边界为20px,则实际2个元素的间距为20px(2个边界值中较大的值)。如图所示。注1. 块级元素(display: block)每个块级元素都从一个新行开始,而且其后的元素也需另起一行开始,标题、段落、表格、层、body等都是块级元素。块级元素只能作为其他块级元素的子元素,而且需要一定的条件。·内联元素,例如<a>、<span>等,定义上下边界不会影响到行高(line-height),内联元素距离上一行元素的距离由行高决定,而不是填充或边界。注2. 内联元素(display:inline)内联元素不需要在新行内显示,而且也不强迫其后的元素换行,如a、em、span等都为内联元素。内联元素可以为任何其他元素的子元素。·浮动元素(无论左或者右浮动)边界不压缩,且若浮动元素不声明宽度,则其宽度趋向于0,即压缩到其内容能承受的最小宽度。·如果盒中没有内容,则即使定义了宽度和高度都为100%,实际上只占0%,因此不会被显示,此点在采取层布局的时候需特别注意。·边界值可为负,其显示效果各浏览器可能不相同。·填充值不可为负。·边框默认的样式(border-style)为不显示(none)。3.CSS引入的方式有哪些? link和import的区别是?本质上,这两种方式都是为了加载CSS文件,但还是存在着细微的差别。差别1:老祖宗的差别。link属于XHTML标签,而import完全是CSS提供的一种方式。link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,import就只能加载CSS了。差别2:加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显(梦之都加载CSS的方式就是使用import,我一边下载一边浏览梦之都网页时,就会出现上述问题)。差别3:兼容性的差别。由于import是CSS2.1提出的所以老的浏览器不支持,import只有在IE5以上的才能识别,而link标签无此问题。差别4:使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为import不是dom可以控制的。大致就这几种差别了(如果还有什么差别,大家告诉我,我再补充上去),其它的都一样,从上面的分析来看,还是使用link标签比较好。标准网页制作加载CSS文件时,还应该选定要加载的媒体(media),比如screen,print,或者全部all等。这个我到CSS高级教程中再给大家介绍。注:1,网友comehope在留言中提出了另一种区别。差别5:import可以在css中再次引入其他样式表,比如可以创建一个主样式表,在主样式表中再引入其他的样式表,如:main.css-import “sub1.css”;import “sub2.css”;sub1.css-p color:red;sub2.css-.myclass color:blue这样更利于修改和扩展猴 子提示:这样做有一个缺点,会对网站服务器产生过多的HTTP请求,以前是一个文件,而现在却是两个或更多文件了,服务器的压力增大,浏览量大的网站还是 谨慎使用。有兴趣的可以观察一下像新浪等网站的首页或栏目首页代码,他们总会把css或js直接写在html里,而不用外部文件。4.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?5:前端页面有哪三层构成,分别是什么?作用是什么?最准确的网页设计思路是把网页分成三个层次,即:结构层、表示层、行为层。网页的结构层(structural layer)由 HTML 或 XHTML 之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P 标签表达了这样一种语义:“这是一个文本段。”网页的表示层(presentation layer) 由 CSS 负责创建。 CSS 对“如何显示有关内容”的问题做出了回答。网页的行为层(behavior layer)负责回答“内容应该如何对事件做出反应”这一问题。这是 Javascript 语言和 DOM 主宰的领域。8:你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?经常遇到的浏览器的兼容性有哪些?怎么会出现?解决方法是什么?点评:css的兼容性也是大家关注的热点。大家一定要注意多测试。Javascript 多浏览器兼容性问题及解决方案兼容性处理要点 1、DOCTYPE 影响 CSS 处理 2、FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 3、FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式 4、div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 5、在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法: divmargin:30px!important;margin:28px; 注意这两个margin的顺序一定不能写反,!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: divmaring:30px;margin:28px 重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important; 浏览器差异 1、ul和ol列表缩进问题 消除ul、ol等列表的缩进时,样式应写成:list-style:none;margin:0px;padding:0px; 其中margin属性对IE有效,padding属性对FireFox有效。 注 经验证,在IE中,设置margin:0px可以去除列表的上下左右缩进、空白以及列表编号或圆点,设置padding对样式没有影响;在 Firefox 中,设置margin:0px仅仅可以去除上下的空白,设置padding:0px后仅仅可以去掉左右缩进,还必须设置list- style:none才 能去除列表编号或圆点。也就是说,在IE中仅仅设置margin:0px即可达到最终效果,而在Firefox中必须同时设置margin:0px、 padding:0px以及list-style:none三项才能达到最终效果。 2、CSS透明问题 IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。 FF:opacity:0.6。 注 最好两个都写,并将opacity属性放在下面。 3、CSS圆角问题 IE:ie7以下版本不支持圆角。 FF: -moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz- border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz- border- radius- bottomright:4px;。 注 圆角问题是CSS中的经典问题,建议使用JQuery框架集来设置圆角,让这些复杂的问题留给别人去想吧。不过jQuery的圆角只看到支持整个区域的圆角,没有支持边框的圆角,不过这个边框的圆角可以通过一些简单的手段来实现,下次有机会介绍下。 4、cursor:hand VS cursor:pointer 问题说明:firefox不支持hand,但ie支持pointer ,两者都是手形指示。 解决方法:统一使用pointer。 5、字体大小定义不同 对字体大小small的定义不同,Firefox中为13px,而IE中为16px,差别挺大。 解决方法:使用指定的字体大小如14px。 并列排列的多个元素(图片或者链接)的div和div之间,代码中的空格和回车在firefox中都会被忽略,而IE中却默认显示为空格(约3px)。 6、CSS双线凹凸边框 IE:border:2px outset;。 FF: -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080; 浏览器bug 1、IE的双边距bug 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。 解决方案:在这个div里面加上display:inline; 例如: <#div id=”imfloat”> 相应的css为 以下为引用的内容: 复制代码代码如下:#IamFloat float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ #IamFloat float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ 关 于CSS中的问题实在太多了,甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。一个合乎发展的建议是,页面采用标准XHTML标准编写, 较少使用table,CSS定义尽量依照标准DOM,同时兼顾IE、Firefox、Opera等主流浏览器。很多情况下,FF和 Opera的CSS解释标准更贴近CSS标准,也更具有规范性。 2、IE选择符空格BUG 今天在给博客的段落样式设置首字符样式的时候发现,原来一个空格也可以使样式失效。 请看以下代码: 复制代码代码如下:<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/www.w3.org/1999/xhtml"> <head> <title></title> <style type="tex