返回顶部
首页 > 资讯 > 前端开发 > node.js >保护JavaScript的步骤有哪些
  • 716
分享到

保护JavaScript的步骤有哪些

2024-04-02 19:04:59 716人浏览 八月长安
摘要

保护javascript的步骤有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。正文今天,JavaScript的使用无处不在。它在你的浏

保护javascript的步骤有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

正文

今天,JavaScript的使用无处不在。它在你的浏览器和后端运行。

此外,JavaScript是一个高度依赖第三方库的生态系统。因此,确保JavaScript的安全需要遵循最佳实践来减少攻击。但是,我们如何保持JavaScript应用程序的安全?让我们来了解一下。

1. JavaScript的完整性检查

作为一个前端开发者,你可能已经使用**< script  >**标签来导入第三方库。你想过这样做的安全风险吗?如果第三方资源被篡改了怎么办?是的,当你在你的网站上渲染外部资源时,这些事情都可能发生。因此,你的网站可能会面临一个安全漏洞。作为对此的安全措施,你可以在你的脚本中添加一个完整性(也称为子资源完整性--SRI)代码,如下所示。

<script   src="https://code.Jquery.com/jquery-3.3.1.slim.min.js"   integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"   crossorigin="anonymous"> </script>

完整性属性允许浏览器检查获取的脚本,以确保如果源头被篡改,代码永远不会被加载。

  • 注意:还是要确保你最初引用的代码不包含任何漏洞。

2. 经常测试NPM的漏洞

我希望你们都知道,我们可以使用npm audit 命令来检测所有安装的依赖关系的漏洞。它提供漏洞报告,并为它们提供修复。

但你多长时间做一次呢?

除非我们把它自动化,否则这些漏洞会堆积起来,使之难以修复。记住,其中一些甚至可能是关键的,允许严重的漏洞。作为一个解决方案,你可以在你的CI中为每个拉动请求运行NPM来识别漏洞。因此,你可以防止任何漏洞不被注意到。

保护JavaScript的步骤有哪些

NPM audit security  report example

然而,有一些漏洞需要开发人员的手动干预才能解决。

GitHub的一个额外举措

最近,gitHub推出了一个名为Dependabot的机器人,自动扫描NPM的依赖关系,并通过电子邮件通知你,说明风险。

保护JavaScript的步骤有哪些

One such email I have  Gotten for one of my projects

3. 保持次要和补丁版本更新

你有没有见过任何NPM软件包版本前面的^或~符号?

这些符号表示对次要版本和补丁版本(取决于符号)的自动版本提升。从技术上讲,次要版本和补丁版本都是向后兼容的,减少了给应用程序引入错误的风险。

由于大多数第三方库发布的热修复漏洞都是补丁版本的颠簸,至少启用自动补丁更新有助于降低安全风险。

4.  具备验证功能以避免注入病毒

作为一条经验法则,我们不应该只依赖客户端验证,因为攻击者可以根据需要改变它们。然而,通过对每个输入的验证,可以省略一些JavaScript注入。

例如,如果你在评论区输入带有引号的东西< script > ,这些引号将被替换成双引号 << scrip  t>< /script>>。那么输入的JavaScript代码将不会被执行。这被称为跨网站脚本(XSS)。

同样地,还有一些其他常见的方法来进行JavaScript注入:

  • 使用开发人员的控制台来插入或更改JavaScript。

  • 在地址栏中输入 "javascript:SCRIPT"。

保护JavaScript的步骤有哪些

防止JS注入对保持你的应用程序的安全是很重要的。

就像我之前提到的,有验证的地方是防止它的一个方法。

例如,在保存任何输入到数据库之前,用 < ; 替换所有 < ,用 > ; 替换所有 >。

内容安全策略(CSP)是另一种避免恶意注入的方法。使用CSP是非常直接的,如下所示。

Content-Security-Policy: trusted-types; Content-Security-Policy: trusted-types 'none'; Content-Security-Policy: trusted-types <policyName>; Content-Security-Policy: trusted-types <policyName> <policyName> 'allow-duplicates';

关于CSP的更多信息,请参考这些指南。

Https://developer.mozilla.org/en-US/docs/WEB/HTTP/CSP

5. 始终保持严格模式的开启

开启严格模式会限制你写不安全的代码。

此外,启用这种模式是很简单的。就像在你的JavaScript文件中加入下面这一行一样简单。

use strict

当严格模式开启时:

  • 它对一些以前保持沉默的错误抛出了错误。

  • 修正了使JavaScript引擎难以进行优化的错误。

  • 禁止使用可能会在未来版本的ECMAScript中定义的保留词。

  • 当采取 "不安全 "的行动(如获得对全局对象的访问)时抛出错误。

  • 多年来,每个现代浏览器都支持严格模式。如果浏览器不支持严格模式,该表达式将被简单地忽略。

6. Lint Your Code

Linters对你的代码库进行静态分析。它有助于建立质量和避免常见的陷阱。

由于质量与安全是相辅相成的,检查有助于减少安全风险。

我们对JavaScript使用的几个流行的工具如下:

  • JSLint

  • JSHint

  • ESLint

此外,像SonarCloud这样的工具也可以用来识别代码气味和已知的安全漏洞。一份Sonar报告将看起来像这样。

保护JavaScript的步骤有哪些

注意:正如你在上图中看到的,它有一个安全部分,显示了漏洞、安全热点。

7. 简化和美化你的代码

攻击者通常会试图理解你的代码,以入侵他们的方式。

因此,在生产构建中拥有一个可读的源代码会增加攻击性。作为一种常见的做法,如果你对你的JavaScript代码进行最小化和丑化,就很难利用你编写的代码中的漏洞。

然而,如果你想采取极端的措施来隐藏你的代码,不被用户/客户发现,那么它应该被保存在服务器端,根本不需要发送到浏览器上。

注重安全是非常重要的,特别是在JavaScript应用程序中,要使你的应用程序安全。

此外,如果你想寻求高级的解决方案。在这种情况下,有一些工具,如Snyk、WhiteSource,它们专门扫描你的代码中的漏洞,并通过连续的集成将其自动化。

关于保护JavaScript的步骤有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网node.js频道了解更多相关知识。

--结束END--

本文标题: 保护JavaScript的步骤有哪些

本文链接: https://lsjlt.com/news/81109.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 保护JavaScript的步骤有哪些
    保护JavaScript的步骤有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。正文今天,JavaScript的使用无处不在。它在你的浏...
    99+
    2024-04-02
  • JavaScript管理和保护对象的方法有哪些
    这篇文章主要讲解了“JavaScript管理和保护对象的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript管理和保护对象的方法有哪...
    99+
    2024-04-02
  • 让JavaScript变得更好的步骤有哪些
    这篇文章主要介绍“让JavaScript变得更好的步骤有哪些”,在日常操作中,相信很多人在让JavaScript变得更好的步骤有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • 服务器的保护工作有哪些
    这篇文章主要介绍“服务器的保护工作有哪些”,在日常操作中,相信很多人在服务器的保护工作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”服务器的保护工作有哪些”的疑惑有所帮...
    99+
    2024-04-02
  • vps建站有哪些步骤
    vps建站的步骤:在开始菜单找到“Internet信息管理器”并打开。点击列表中本地计算机展开下拉菜单 → 右键“网站” → 新建网站 输入网址描述,点击下一步。 填写网址相关信息,如:网站ip地址、tcp端口号,主机头等。(主机头填你的v...
    99+
    2024-04-02
  • DIV CSS制作的步骤有哪些
    本篇内容主要讲解“DIV CSS制作的步骤有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“DIV CSS制作的步骤有哪些”吧!一、分析带切美工图 ...
    99+
    2024-04-02
  • 网站建设的步骤有哪些
    这篇文章主要讲解了“网站建设的步骤有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网站建设的步骤有哪些”吧!  网站建设通常有哪些步骤  1、域名注册  做网站前是要有一个域名的,域名就...
    99+
    2023-06-10
  • DBaaS需要数据保护的原因有哪些
    本篇内容介绍了“DBaaS需要数据保护的原因有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!随着云计算...
    99+
    2024-04-02
  • 服务器日常保护的细节有哪些
    服务器日常保护的细节有:1、需要定期对服务器进行病毒扫描,及时发生潜在的安全隐患并进行处理;2、使用服务器过程中需要使用安全的网络连接服务器,避免使用公共网络,降低服务器被攻击的风险;3、需要对服务器日志进行监测分析,及时排查异常问题;4、...
    99+
    2024-04-02
  • 保护Docker容器安全的方法有哪些
    这篇文章主要讲解了“保护Docker容器安全的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“保护Docker容器安全的方法有哪些”吧!应用程序的容器化涉及将应用程序代码及其依赖项(...
    99+
    2023-06-17
  • Redis主从复制的步骤有哪些
    本篇内容介绍了“Redis主从复制的步骤有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Redis复制...
    99+
    2024-04-02
  • golang的程序流程有哪些步骤
    golang,即Go语言,是谷歌公司开发的一门新型编程语言。它采用了现代化的语言设计,具有高效、可扩展性好、易于学习等优点,成为近年来互联网领域中备受关注的一门编程语言。在golang的基础上,我们可以开发出各种各样的应用程序和服务,支持并...
    99+
    2023-05-14
  • 新手学习SEO的步骤有哪些
    这篇文章将为大家详细讲解有关新手学习SEO的步骤有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、发文章发文章是指自己网站qingpingseo.com的原创更新(不要去伪原创和采集)。在自己网站做...
    99+
    2023-06-10
  • 云主机有哪些方法保护数据
    云主机中保护数据的方法有:1.加强网络端口安全,更新病毒库;2.进行数据备份,定期对服务器备份;3.加强物理安全,保证数据中心物理安全;4.使用云防火墙与分离技术双重策略,全面保护数据安全;具体分析如下:加强网络端口安全网络上病毒非常猖獗,...
    99+
    2024-04-02
  • 云电脑的维护和保养方法有哪些
    定期清洁:定期清洁云电脑的外表面和通风口,以防灰尘进入机内影响散热效果。 避免长时间运行:尽量避免云电脑长时间连续运行,适当...
    99+
    2024-04-17
    云电脑
  • SQL server 2016安装步骤有哪些
    这篇文章将为大家详细讲解有关SQL server 2016安装步骤有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.进入安装中心:可以参考硬件和软件要求、可以看到一...
    99+
    2024-04-02
  • Linux下对文件进行权限保护的方法步骤
    本篇内容主要讲解“Linux下对文件进行权限保护的方法步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下对文件进行权限保护的方法步骤”吧!  在管理Linux系统的过程中,对于一些重...
    99+
    2023-06-13
  • 创建索引的方法步骤有哪些
    本篇内容主要讲解“创建索引的方法步骤有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“创建索引的方法步骤有哪些”吧!1.创建索引方法创建索引可以在建表时指定,...
    99+
    2024-04-02
  • 选择云服务器的步骤有哪些
    选择云服务器的步骤:1. 选择云服务器要定义云服务器需求,了解寻求的服务类型。2. 选择云服务器要了解数据中心的安全性,向云服务器供应商咨询保护措施。3. 选择云服务器要保证云服务器安全,能否提供云计算解决方案,防止黑客入侵等攻击。4. 选...
    99+
    2024-04-02
  • 网站建设的步骤具体有哪些
    网站建设的步骤具体有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。网站建设初期的策划,站点内容定位,栏目分类,网站程序的选用,和模板风格的设计后,就可以根据...
    99+
    2023-06-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作