IMWeb提升营Day2

来源:互联网 发布:js 百度地图 标注位置 编辑:程序博客网 时间:2024/06/04 23:37

2017.5.25

今日早报

  • 新版本React的的各种新特性,感觉React还是挺重要的,作为最热门的前段框架,react起源于facebook的内部项目,是因为该公司对市场上的javascript MVC模型不满意,所以自己写了一套框架,因为很新,所以入门教程不多,可以看看阮一峰的日志,写的还不错
  • IBM发布最强的量子处理器,性能是旧款的两倍多。
  • 虚拟金融成了人工智能发展新方向,让人工智能来给客户提供理财投资咨询。

Day1的编程训练题答案解析:
https://zhuanlan.zhihu.com/p/27100060

前端常见问题

问题1: XHTML和HTML有什么区别?

  • HTML是一种基本的WEB网页设计语言
  • XHTML是一个基于XML的置标语言

  • 最主要的不同

    • XHTML元素必须被正确地嵌套
    • XHTML元素必须被关闭
    • XHTML文档必须拥有根元素
    • 标签名必须用小写字母
  • HTML4和HTML5的区别

    • html:没有体现结构语义化的标签,我们通常都是这样来命名的<div id="header"></div>.这样表示网站的头部。
    • html5:在语义上却有很大的优势。提供了一些新的标签,比如:<header><article><footer>

问题2: Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

  • DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。
  • 1作用:声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。

    • document.compatMode:
      BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。
      CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。页面添加了<!DOCTYPE html>
    • 这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat
  • 2 使用:

    • 2.1 使用也很简单,就是在你的html页面的第一行添加””一行代码就可以了
    • 2.2 jsp的话,添加在<%@ page %>的下一行。
    • 2.3 不用区分大小写
  • 用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档

  • 加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug

问题3: 写出几种IE6 BUG的解决方法

  • 1.双边距BUG float引起的 使用display
  • 2.3像素问题 使用float引起的 使用dislpay:inline -3px
  • 3.超链接hover 点击后失效 使用正确的书写顺序 link visited hover active
  • 4.Ie z-index问题 给父级添加position:relative
  • 5.Png 透明 使用js代码 改
  • 6.Min-height 最小高度 !Important 解决’
  • 7.select 在ie6下遮盖 使用iframe嵌套
  • 8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

问题4: IE和DOM事件流的区别

  • 1.执行顺序不一样
  • 2.参数不一样
  • 3.事件加不加on
  • 4.this指向问题

个人思考题

###1、谈一谈你做过的一个项目,业务逻辑模块如何划分的?

2、什么是xss漏洞,怎么防御?

  • XSS又称CSS(为了避免和css重复,就叫XSS了),全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
  • XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种:
    • 一种是DOM Based XSS漏洞
    • 另一种是Stored XSS漏洞。
  • 理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。

  • XSS有哪些类型?

    • 反射型:简单的描述就是把用户输入的数据反射给浏览器,这个数据可能是Html代码或者js代码,反射后让浏览器去执行。
    • 存储型:把用户输入的数据(比如恶意的js代码)存储在服务器端,具有很强的稳定性,危害时间长。
    • DOM Based XSS:这种不是按照存储在哪里来划分的,可以说是反射型,由于历史原因,归为一类,通过改变DOM结构形成的XSS称之为DOM Based。
  • XSS的危害有哪些?

    • 1、劫持Cookie
    • 2、构建Get和Post请求
    • 3、XSS钓鱼
    • 4、获取用户系统信息
      • 此外XSS还可以识别用户的浏览器信息、用户安装的软件以及用户真实的IP等信息。
    • 5、XSS Wrom
  • 如何防御XSS呢?

    • 1、给关键的Cookie设置HttpOnly属性
      • 这样能够避免js读取Cookie信息(设置后有助于缓解XSS,但是XSS除了劫持Cookie之外,还可以模拟用户的身份进行操作)。
    • 2、进行输入检查
      • 如果仅仅在客户端通过JS来做输入校验,有可能会被攻击者绕过,WEB开发中的普遍做法是同时在客户端和服务端做校验。这种输入检查的方式也称之为XSS Filter。
    • 3、输出检查
      • 一般说来,除了富文本输出之外,在变量输出到HTML页面时,可以使用编码或者转义的方式来防御XSS攻击。
    • 4、防御DOM BasedXSS
      • 首先是$var输出到<script>时,应该执行一次javasriptEncode,其次在doument.write输出到HTML页面时,如果是输出到事件或者脚本,可以再做一次javaScriptEncode,如果是输出到HTML内容或者属性,则可以做一次HtmlEncode。
原创粉丝点击