架构-碎知识点笔记

1.xss(跨站脚本攻击)
    通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的恶意脚本。
    这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,
    攻击者可能得到包括私密网页内容、会话和cookie等各种内容
    1)反射型(基于后端)
        前端访问服务端,服务端返回数据给前端,xss攻击可以在后端返回的内容中植入恶意代码
    2)DOM-Based
        修改DOM请求属性(img src属性等)可以植入恶意代码
    3)存储型
        恶意脚本存到了数据库里了,这样所有人访问就都被攻击了
    4)解决办法:
        xss攻击要点就是没有对重要信息进行校验,我们可以在前端发数据给后端,后端发数据给前端,数据展示时这三个阶段进行数据校验,
        把& ' " < >这些脚本重要组成符号转义成&amp;&quot&apos;&lt;&gt;等对应的特殊符号来阻止脚本执行。
2.csrf(跨站请求伪造)
    CSRF是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
    用户在自己的网页上登录了,浏览器中已经存在了cookie,在诱导用户点入攻击者的网页来,在攻击者的网页上访问用户网站会在自动携带上cookie
    (访问的服务器一样就会携带一样的cookie)
    解决方法:
        1.添加验证码
            登录的时候服务器返回一个验证码给客户端,请求时让客户端再次携带验证码给服务端进行验证。
        2.判断请求来源
            通过判断请求头的referer字段看客户端的域名是否是正确的,但是有一定的风险,攻击者可以通过node发送请求来伪造请求头。
        3.添加token判断用户身份
3.V8引擎垃圾收集(node/js)
    1)一个node进程内存结构
        rss:总内存
        external:存栈变量
        heapTotal:堆内存
        heapUsed:使用到的堆内存
    2)垃圾回收
        内存里的垃圾回收分为新生代(32m,存放临时变量)和老生代(1.4G)垃圾回收机制,垃圾回收主要针对堆区域,因为栈区域的空间很小。
        1.新生代垃圾回收
            新生代垃圾回收分为from和to两块区域,from里面放代码块,to里面为空,引擎会轮询from里面的变量,会把正在使用的变量
            移到to来,然后清空from区域,接着from变成to区域,to变成from区域开始循环上面步骤。轮询多次后依然存活的变量会变移到
            老生代区域。或者当to区域内存占用超过25%,那么变量会变移到老生代区域。
        2.老生代垃圾回收
            1)标记清除
                标记活的变量,标记完后清除死的变量,问题是清除后会出现内存不连续的情况,后面如果要放一个大的对象无法放到内存碎片空间中。
            2)标记整理
                标记活的变量,然后把活的对象一起往左移到,死的对象往右移动,接着清除死的变量,不会造成内存碎片,但是操作时间久。
            3)增量标记
                标记清除和标记清理两种方式在进行是,程序是禁止操作的,所有增量标记是把标记清除和标记清理分为多次来进行,优化了用户体验。
            4)总结:V8主要使用标记清除,等内存不够了在使用标记整理
    3)引用次数(从根对象window开始计数)
        引擎中有一张表专门来记录变量的引用次数。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值