网站性能与安全习题
1.(多选题)下面关于减少页面HTTP请求数的说法正确的是(CD)
A.减少页面代码量可以减少HTTP请求数
B.将动态网页转换为静态页面输出可以减少HTTP请求数
C.将外部样式表改为内部样式表可以减少HTTP请求数
D.使用CSS Sprites技术可以减少HTTP请求数
问题解析:减少页面代码或者把动态页面转化为静态页面可以提高加载速度,但不能减少请求数量;<script>标签引入外部JS文件、<link>引入外部样式表、<img>加载图片都需要发送独立的请求,会增加请求的数量;CSS Sprites允许将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,下载的图片数量大大减少,从而减少了网页的http请求次数
2.(单选题)在网站性能优化中,Cookie优化也是一个重要的部分,下面选项中不属于Cooki
e优化的是(B)
A.缩小Cookie的大小
B.使用全局域名的Cookie
C.设置合理的过期时间
D.对于静态内容不发送Cookie
问题解析:cookie一旦存在,就会在服务器和浏览器通讯中持续的存在,因此减少cookie的大小,避免无谓的带宽的浪费以及加速内容的拉取是很有必要的;设置合理过期时间也可以减少无谓的数据传递;把Cookie限定在一个更小的使用范围也可以减少网络(上行和下行)传送的大小,因此应该避免使用全局域名的Cookie;由于cookie一般而言是服务器端的动态cgi请求产生的,因此对用户静态文件而言,这些cookie基本没有什么用途,去掉他们,也可减少网络传送的大小
3.(多选题)在网页传输过程中,使用GZip压缩技术可以有效地减少数据的传输量,下面关于GZip技术的说法错误的是(AC)
A.使用GZip压缩对于任何内容都能起到显著的作用
B.GZip的工作原理是在服务器端压缩,在客户端解压
C.GZip是指将文件扩展名修改为.gzip
D.目前绝大多数主流浏览器都支持GZip
问题解析:Gzip对于图片,MP3等几乎没有效果;Gzip是通过算法对文件进行压缩,而不仅仅是改后缀名
4.(单选题)在网站性能方面,页面静态化对提升网页打开速度有着比较显著的作用,下面关于页面静态化的说法错误的是(B)
A.所谓纯静态化的页面,是指没有任何需要服务器端解释的页面
B.页面静态化不需要对数据库执行读写,因此网站完全不需要使用数据库
C.静态网页相比动态网页更容易被搜索引擎收录
D.对网站实行静态化,可以有效地阻止SQL注入
问题解析:页面静态化有诸多优点,但不是说可以完全脱离动态功能或数据库支持,只是尽可能的减少动态执行和数据库访问,以提高访问速度或降低数据服务器的访问压力
5.(单选题)对数据库查询语句执行优化,可以提高网站的性能,减少服务器的压力,下面选项中不属于SQL查询优化的是(A)
A.将索引设置在查询频率比较小的字段上
B.使用SELECT语句选择字段时,直接选择字段名称,减少使用*的频率
C.尽可能少的使用LIKE查询
D.使用EXIST和NOT EXIST代替IN和NOT IN
问题解析:
索引可以显著提高查询速度,应该放在查询频率较高的字段上,同时应注意:
避免对索引字段进行计算操作;
避免在索引字段上使用not,<>,!=;
避免在索引列上使用IS NULL和IS NOT NULL;
避免在索引列上出现数据类型转换;
避免在索引字段上使用函数;
避免建立索引的列中使用空值。
6.在WEB安全方面,下面选项中可以杜绝非法数据提交的是(B)
A.在客户端使用JavaScript验证用户输入数据的合法性
B.在服务器端进行数据转换和过滤
C.不向客户端发送详细500错误信息
D.使用图片验证码极值
问题解析:使用JavaScript可以减少无效的请求,但很容易被避开;验证码不能保证用户提交的其它信息的合法性;只有在服务器端对数据进行完善的处理才能杜绝非法数据
7.(单选题)下面选项中,可以实现在服务器端阻止SQL注入的是(B)
A.禁止外部页面提交
B.对登录时提交的用户名和密码进行分步验证
C.将POST请求改为GET请求
D.在客户端增加JavaScript验证代码
问题解析:SQL注入的原理是改变语句的结构,从而执行一些非正常的操作;解决的思路应该是消除参数中特殊符号的作用,这一点是无法通过改变提交方式实现的,JavaScript因为很容易被回避,应该在服务器端做充分的处理。特定于登录操作而言,也可以把验证分几步进行,避免通过一次查询就得出结论
8.(单选题)在基于页面级的认证或授权方面,有多重实现方式,下面选项不属于基于页
面级的认证或授权的是()
A.Digest验证
B.Form验证
C.JAAS认证
D.数字证书验证
问题解析:JAAS认证是基于代码级的认证和授权,页面认证包括Basic验证、Digest验证、gzip是什么文件夹Form验证、Client-cert验证,其中Basic验证用于明文传送口令、安全性低,Digest验证用于消息摘要方式传递,安全性较高,Form验证用于安全性低,但可以自定义,Client-cert验证用于数字证书方式,一般和SSL配合
9.(多选题)下面关于Java中给予配置文件的认证和授权的说法错误的是(BD)
A.只需要修改配置文件,就可以实现认证的目的
B.一般适用于C/S结构的项目中
C.一般用来控制某个页面的访问权限
D.可以控制到某个类或方法的访问权限
问题解析:基于配置文件的认证和授权有如下的特点,第一、只需配置配置文件,方便修改。第二、应用场合:一般适用于B/S开发。第三、安全控制粒度:一般只能到某个页面.综合以上分析,所以选择BD
10.(多选题)下面不属于JAAS框架认证方面的类或接口的是(CD)
A.LoginModule
B.LoginContext
C.Permission
D.Subject
问题解析:JAAS相关的核心类和接口分为三类,公共、认证和授权。
公共类:Subject,Principal,Credential
认证类和接口:LoginContext,LoginModule,CallbackHandler,Callback
授权类:Policy,AuthPermission,PrivateCredentialPermission
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论