zoukankan      html  css  js  c++  java
  • 高安全性的JavaScript

    1、常见的Web前端攻击方式

        目前,攻击网站前端的主要方式有如下几种:

        1)XSS

            XSS是Cross Site Scripting的缩写,即跨站点脚本攻击。XSS发生在用户的浏览器端,即当用户在加载HTML文档时执行了非预期的恶意脚本。XSS的特点就是:尽一切办法在目标网站上执行非目标网站上原有的脚本。

        2)CSRF

            CSRF是Cross Site Request Forgery的缩写,译为跨站请求伪造。请求是来源于其他网站的,即为跨站的请求。并且这个请求并不是来自于用户的意愿,而是伪造的请求,诱导用户发起的请求。

        3)界面操作劫持

            可分为点击劫持和拖动劫持两种。界面操作劫持是利用视觉欺骗,诱导用户操作。例如,在可见的输入框上覆盖一个不可见的框,用户点击输入框时,其实是点击了不可见框中的内容。

    2、不要轻易信任任何外部传入的数据

         防范前端攻击的一个重要常识:永远不要轻易相信用户输入的数据,一定要针对用户输入做相关的格式检查、过滤等操作,防止任何可能的前端注入。如下所列的是在前端开发中应用的具体实践方法。

         1)不要轻易信任用户输入的内容

            需要针对用户输入的内容进行HTML编码、<html>标签属性编码、JavaScript编码、CSS编码、URL编码。也应该避免使用一些有安全隐患的函数调用方式,比如避免使用eval、setInterval、setTimeout等函数直接运行输入的内容。

         2)不要轻易信任任何传入的第三方数据

         3)不要仅仅靠JavaScript代码来阻止注入

               如果用户输入的数据要保存到后端数据库中,则仅仅靠JavaScript代码来校检用户输入的数据是不够的。在后端的代码也需要进行必要的数据校检操作,并且检查校检的力度要比前段要更严格。

    3、其他前端安全防范实践

         1)更安全的使用Cookie

            避免泄露Cookie信息的有效方式是设置Cookie的HttpOnly,即禁止了对JavaScript操作Cookie。

            另外一个和安全相关的设置,即Secure。设置了Secure的Cookie只能在浏览器使用HTTPS请求时被发送到服务器端。如果站点使用了SSL,则应该启用Cookie的Secure设置。

            Cookie的另外两个常用的设置是domain(域)和path(路径),这两个设置是用来确定Cookie作用域范围的。

         2)防止网页被其他网站内嵌为iframe

             传统的方式是使用JavaScript代码来阻止网页被其他网页嵌套。

             浏览器也支持通过设置X-Frame-Options响应头来控制页面被其他页面内嵌。X-Frame-Options有三种设置选项:DENY、SAMEORIGIN及ALLOW-FROM uri,分别表示禁止、允许相同域及特定域页面内嵌此页面。

  • 相关阅读:
    git(1)-git关联GitHub-windows-转载
    jenkins(4)-jenkins配置邮件通知
    jenkins(3)-linux下安装jenkins(yum install方式)
    【PAT甲级】1090 Highest Price in Supply Chain (25 分)(DFS)
    【PAT甲级】1087 All Roads Lead to Rome (30 分)(MAP【int,string】,邻接表,DFS,模拟,SPFA)
    【PAT甲级】1018 Public Bike Management (30 分)(DFS,SPFA)
    Educational Codeforces Round 61 (Rated for Div. 2) G(线段树,单调栈)
    Atcoder Grand Contest 032C(欧拉回路,DFS判环)
    Educational Codeforces Round 62 (Rated for Div. 2)E(染色DP,构造,思维,组合数学)
    Atcoder Grand Contest 031C(构造,思维,异或,DFS)
  • 原文地址:https://www.cnblogs.com/209yin/p/7701608.html
Copyright © 2011-2022 走看看