zoukankan      html  css  js  c++  java
  • 前端开发安全编码规范

     

    1、Cookie使用

    禁止「MUST NOT」给 baidu.com 域下设置 cookie,设置 cookie 请指定为当前域名。

    禁止「MUST NOT」给页面设置 document.domain = "baidu.com"

    2隐私数据

    禁止「MUST NOT」在页面中出现 ip 相关信息 ,如有提交 ip 给 server 端的需求,请修改为其它形式,比如:由 rd 在 server 端间接获取 ip 信息。

    用户的个人隐私信息:姓名、邮箱、电话、QQ 等,必须「MUST」遵守最小化原则,使用不到信息 禁止「MUST NOT」 出现在页面代码中,获取这些数据的 json 接口也必 「MUST」须经过权限控制。



    3、页面跳转

    获取 url 中的参数,跳转至另一个站点时, 禁止「MUST NOT」跳转至任意站点,「MUST」设置白名单,只允许跳转至规定的站点。

    点击页面中的链接跳转至第三方站点的时候,建议「RECOMMENDED」 以类似百度、 Google 搜索结果中 Server 端跳转的形式进行,后端可以对 URL 进行安全性扫描,检测到是一个恶意网站、或者目标资源是可执行文件时,应给予用户强烈的警告,告知其风险。


    4、第三方功能和资源

    页面中嵌入的第三方功能,禁止「MUST NOT」直接内嵌第三方 JS 代码,建议以「RECOMMENDED」iframe 形式引入 。

    页面中如果需要使用第三方的数据,建议 RECOMMENDED」 由 RD 获取,尽量避免以 jsonp 方式获取,如必须使用 jsonp,请限制好第三方返回的 callback 函数名,对于不允许使用的函数名称,一律禁止。

    原则上禁止「MUST NOT」使用第三方提供的资源:图片、文档等,如有必须,建议「RECOMMENDED」由 RD 抓取相关内容转存至自有 Server。因为,外链会产生站外请求,可以被利用实施 CSRF 攻击,而且往往存在性能问题。


    5、上传文件

    建议「RECOMMENDED」上传接口所在的域名和主域名隔离,并且采用最小化原则限制允许上传的文件大小。

    6JSON/JSONP协议

    JSON 数据,必须「MUST」设置 http header Content-Type : application/json

    JSONP 形式向第三方提供数据,必须「MUST」设置 http header Content-Type : application/javascript,并且callback function 名称只允许出现:数组、字母、下划线。

    JSON/JSONP 方式提供数据,建议「RECOMMENDED」遵循最小化原则,只暴露需要暴露的信息,并且用白名单限制 referer 防止恶意抓取。

    7、Cross Domain 设置

    在时 XML Httprequest 2(xhr2) 以及 font-face 如果需要支持跨域访问的需求,禁止「MUST」设置 header 为: Access-Control-Allow-Origin: * ,需要设置为允许访问的地址,比如: Access-Control-Allow-Origin:www.baidu.com

  • 相关阅读:
    jQuery 语法
    jQuery 简介
    把数据存储到 XML 文件
    XML 注意事项
    XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。
    通过 PHP 生成 XML
    XML 命名空间(XML Namespaces)
    XML to HTML
    XMLHttpRequest 对象
    使用 XSLT 显示 XML
  • 原文地址:https://www.cnblogs.com/caoruichun/p/11146272.html
Copyright © 2011-2022 走看看