031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测

这篇具有很好参考价值的文章主要介绍了031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

#知识点:

1、三方库-JQuery-使用&安全
2、打包器-WebPack-使用&安全

演示案例:

➢打包器-WebPack-使用&安全
➢第三方库-JQuery-使用&安全

#为什么使用-WebPack

  • 创建WebPack,并创建目录src在目录下创建1.js 2.js

  • 1.js

    function test(){
        console.log('test');
    }
    
  • 2.js

    test();
    
  • 在创建index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        **<script src="src/2.js"></script>
        <script src="src/1.js"></script>**
    </body>
    </html>
    
  • 由于js相互依赖的顺序不同,造成无法执行

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

使用 Webpack 的主要原因:

  1. 模块化支持:Webpack 支持将应用程序拆分为模块,使开发人员能够使用模块化的方式组织和管理代码。模块化能够提高代码的可维护性、重用性和可测试性。
  2. 资源打包:Webpack 可以将项目中的各种资源(例如 JavaScript、CSS、图像等)视为模块,并将它们打包成一个或多个最终的静态资源文件。这样可以减少网络请求的次数,提高应用程序的加载性能。
  3. 代码分割:Webpack 支持将应用程序的代码分割成多个块(chunks),并在需要时按需加载。这种代码分割的技术可以提高应用程序的初始加载速度,并减小用户需要下载的初始文件大小。
  4. 资源优化:Webpack 提供了丰富的插件和工具生态系统,可以进行各种资源优化和转换,例如压缩代码、处理样式预处理器、优化图像等。这些优化可以减小资源文件的大小,提高应用程序的性能。
  5. 开发环境支持:Webpack 提供了强大的开发环境支持,包括开发服务器、热模块替换(Hot Module Replacement)、源代码映射等功能。这些功能可以提升开发效率,加快开发周期。

#打包器-WebPack-使用&安全

参考:https://mp.weixin.qq.com/s/J3bpy-SsCnQ1lBov1L98WA
Webpack是一个模块打包器。在Webpack中会将前端的所有资源文件都作为模块处理。它将根据模块的依赖关系进行分析,生成对应的资源。

五个核心概念:

  1. 【入口(entry)】:指示webpack应该使用哪个模块,来作为构建内部依赖图开始。
  2. 【输出(output)】:在哪里输出文件,以及如何命名这些文件。
  3. 【Loader】:处理那些非JavaScript文件(webpack 自身只能解析 JavaScript和json)。webpack 本身只能处理JS、JSON模块,如果要加载其他类型的文件(模块),就需要使用对应的loader。
  4. 【插件(plugins)】:执行范围更广的任务,从打包到优化都可以实现。
  5. 【模式(mode)】:有生产模式production和开发模式development。

webpack使用:

1、创建需打包文件

  • 创建WebPack,并创建目录src在目录下创建js目录在js目录下创建sum.js count.js

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

  • sum.js

    export default function sum(x,y){
        return x+y;
    }
    
  • count.js

    export default function count(x,y){
        return x-y;
    }
    
  • 在src目录下创建与js同级mian.js

    import count from "./js/count";
    import sum from "./js/sum";
    
    console.log(sum(1,2));
    console.log(count(1,2));
    
  • 在创建src同级文件index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <script src="main.js"></script>
        
    </body>
    </html>
    
  • 报错Cannot use import statement outside a module,尝试在不支持模块的环境中使用 ES6 的 import 打包语句造成无法执行;

    031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

2、安装webpack库**npm i webpack webpack-cli -g**

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

3、创建webpack配置文件

  • 创建src同级文件webpack.config.js不能改名称
// 引入path模块,用于处理文件路径
const path = require('path');

// Webpack配置对象
module.exports = {
    **// 指定入口文件,即Webpack从这个文件开始构建依赖图
    entry: './src/main.js',**

    // 指定输出配置
    output: {
        // 输出的文件路径,使用path.resolve确保路径的正确性
        path: path.resolve(__dirname, 'dist'),

        // 输出的文件名
        filename: 'bundle.js',

        // 在每次构建前清理输出目录
        clean: true,
    },

    // 指定打包模式,可以是 'development' 或 'production'
    mode: "development", // 或者 "production"
    //mode:"production",
};
  • entry: 指定入口文件,即Webpack从哪个文件开始构建依赖关系图。
  • output: 指定输出的目录和文件名,以及是否在每次构建前清理输出目录。
  • mode: 指定打包的模式,可以是 ‘development’ 或 ‘production’。
  • development 模式下会启用一些开发工具,容易造成源码泄露
  • production 模式下会进行代码优化,代码极简化

4、运行webpack打包命令**npx webpack**

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

  • 打包成功后,在index.html中将引用的代码切换为打包好的**./dist/bundle.**
<body>
    <script src="./dist/bundle.js"></script>
</body>
  • 运行成功,并回显定义的两个函数计算结果

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

webpack安全:

1、WebPack源码泄漏-模式选择

  • development 模式下会启用一些开发工具,容易造成源码泄露
  • production 模式下会进行代码优化,代码极简化

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

2、模糊提取安全检查-PacketFuzzer

https://github.com/rtcatc/Packer-Fuzzer

原生态JS:前端语言直接浏览器显示源代码
NodeJS:服务段语言浏览器不显示源代码
WebPack:打包模式选择开发者模式后会造成源码泄漏(nodejs vue)

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

这类打包器会将整站的API和API参数打包在一起供Web集中调用,这也便于我们快速发现网站的功能和API清单,但往往这些打包器所生成的JS文件数量异常之多并且总JS代码量异常庞大(多达上万行),这给我们的手工测试带来了极大的不便,Packer Fuzzer软件应运而生。

本工具支持自动模糊提取对应目标站点的API以及API对应的参数内容,并支持对:未授权访问、敏感信息泄露、CORS、SQL注入、水平越权、弱口令、任意文件上传七大漏洞进行模糊高效的快速检测。在扫描结束之后,本工具还支持自动生成扫描报告,您可以选择便于分析的HTML版本以及较为正规的doc、pdf、txt版本。

#第三方库-JQuery-使用&安全

jQuery是一个快速、简洁的JavaScript框架,是一个丰富的JavaScript代码库。设计目的是为了写更少的代码,做更多的事情。它封装JavaScript常用功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

1、使用:

引用路径:https://www.jq22.com/jquery-info122

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

3.4.1版本就有被xss植入的风险而3.5.1版本没有

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack

2、安全:

检测:http://research.insecurelabs.org/jquery/test/
测试:CVE-2020-11022/CVE-2020-11023
参考:https://blog.csdn.net/weixin_44309905/article/details/120902867

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测,javascript,安全,webpack文章来源地址https://www.toymoban.com/news/detail-835591.html

到了这里,关于031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性

    DW + PHPStorm + PhpStudy + Navicat Premium DW : HTMLJSCSS开发 PHPStorm : 专业PHP开发IDE PhpStudy :Apache MYSQL环境 Navicat Premium: 全能数据库管理工具 1、数据库名,数据库表名,数据库列名 2、数据库数据,格式类型,长度,键等 PHP函数:连接,选择,执行,结果,关闭等 参考:https://www.runoo

    2024年02月17日
    浏览(47)
  • Qt+QtWebApp开发笔记(六):http服务器html实现静态相对路径调用第三方js文件

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131244269 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《Qt+QtWebApp开发笔记(五

    2024年02月13日
    浏览(40)
  • 安全学习_开发相关_Java第三方组件Log4j&FastJSON及相关安全问题简介

    Java Naming and Directory Interface (Java 命名和目录接口 ),JNDI 提供统一的客户端 API,通过不同的服务供应接口(SPI)的实现,由管理者将 JNDI API 映射为特定的命名服务和目录服务,使得 JAVA 应用程可以通过 JNDI 实现和这些命名服务和目录服务之间的交互。 Log4J: Apache的一个开源项目

    2024年02月05日
    浏览(47)
  • 打包jar服务,如何提取第三方依赖包

    很多时候有这个需求,编译源码的时候无法联网,需要把源代码和依赖包一起离线用。 那么怎么把可以联网的工程依赖包,下载后提供给无网环境用呢。war的很多时候是默认提供好的,那么maven打包jar包服务的,assembly.xml 配置需要增加以下内容: 再执行maven打包就可以了。所

    2024年01月25日
    浏览(43)
  • maven打包抽离第三方jar

    gitee地址:ruoyi-pom-config: 用来修改ruoyi-cloud的pom文件示例,第三方jar包抽取打包 以若依微服务项目为说明示例,需要用git下载下来结合理解,后端项目结构 图一:  红圈一的pom为最父级的pom文件 最父级 pom文件内容如下  先重点看最父级pom文件,下面图中的红圈部分 图二:

    2024年02月20日
    浏览(46)
  • 【Maven】maven引入第三方jar包并打包

    idea中的springboot项目引用第三方jar包,打包时将其引入 本文参照官网:http://maven.apache.org/ 第一种:在pom文件引入jar包的目录 1.选择File下的project Structure 2.选择Module,选择项目模块,选择Dependencies下的加号:点击JARs or Directories…: 3.选择你jar包所在的位置,点击OK,点击Apply,此时已

    2024年02月16日
    浏览(48)
  • idea 创建java项目,引入第三方jar,打包jar包

    前提:已安装好JDK,并且配置好了JDK环境变量。 直接点击create创建即可 刚创建完的项目可能是没有out目录的,当我们执行一次main方法,代码会经过编译,然后生成out目录 打印输出结果,我们第一个java Hello word 就执行完啦。 创建Java文件和包 下载jar包的网站:https://mvnrepos

    2024年02月11日
    浏览(52)
  • 【Linux】如何打包成动静态库,第三方动静态库如何使用?

    库的名称:去掉前面的 lib 去掉后面的 .a(版本号) .so(版本号) 剩下的,才是库正真的名称。 查看文件依赖库: ldd r : replace (更新替换) c:create (建立) 使用 gcc -fPIC 创建 .o 文件 (PIC)position ignoring code 与位置无关码 用 gcc -shared 打包 .o 文件 -shared 共享库 / 动态库 当我们有

    2024年02月14日
    浏览(36)
  • springboot引入第三方jar包本地lib并打包 亲测可用

    一、在项目根目录创建lib目录并放入第三方lib包 : 二、pom中引入第三方lib system表示依赖不是由maven仓库,而是本地的jar包 ${pom.basedir}/lib/commons-io-2.6.jar指向jar包位置即可 ${pom.basedir}表示项目根目录 三、将第三方lib也打入jar包

    2024年01月25日
    浏览(42)
  • SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中

    转载 首先我们应该知道我们把 SPRINGBOOT 项目打包成WAR包和JAR包的时候分别需要何种插件 我们最常用的把 springBoot 打成jar包的插件是下面这样的一个插件,这是把我们的 springBoot 项目打包成为一个可执行 jar 的插件 把 springBoot 项目打包成一个war包的插件是下面这样的一个插件

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包