web 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
web 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
web 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 AGPL-3.0 License
开发语言
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 首席测试
适用人群 未知
收录时间 2021-11-10

软件简介

⚠️ This repository has been migrated into overleaf/overleaf. See the monorepo announcement for more info. ⚠️


overleaf/web

overleaf/web is the front-end web service of the open-source web-based collaborative LaTeX editor, Overleaf. It serves all the HTML pages, CSS and javascript to the client. overleaf/web also contains a lot of logic around creating and editing projects, and account management.

The rest of the Overleaf stack, along with information about contributing can be found in the overleaf/overleaf repository.

Build process

overleaf/web uses Grunt to build its front-end related assets.

Image processing tasks are commented out in the gruntfile and the needed packages aren't presently in the project's package.json. If the images need to be processed again (minified and sprited), start by fetching the packages (npm install grunt-contrib-imagemin grunt-sprity), then decomment the tasks in Gruntfile.coffee. After this, the tasks can be called (explicitly, via grunt imagemin and grunt sprity).

New Docker-based build process

Note that the Grunt workflow from above should still work, but we are transitioning to a Docker based testing workflow, which is documented below:

Running the app

The app runs natively using npm and Node on the local system:

$ npm install
$ npm run start

Ideally the app would run in Docker like the tests below, but with host networking not supported in OS X, we need to run it natively until all services are Dockerised.

Running Tests

To run all tests run:

make test

To run both unit and acceptance tests for a module run:

make test_module MODULE=overleaf-integration

Unit Tests

The test suites run in Docker.

Unit tests can be run in the test_unit container defined in docker-compose.tests.yml.

The makefile contains a short cut to run these:

make test_unit

During development it is often useful to only run a subset of tests, which can be configured with arguments to the mocha CLI:

make test_unit MOCHA_GREP='AuthorizationManager'

To run only the unit tests for a single module do:

make test_unit_module MODULE=overleaf-integration

Module tests can also use a MOCHA_GREP argument:

make test_unit_module MODULE=overleaf-integration MOCHA_GREP=SSO

Acceptance Tests

Acceptance tests are run against a live service, which runs in the acceptance_test container defined in docker-compose.tests.yml.

To run the tests out-of-the-box, the makefile defines:

make test_acceptance

However, during development it is often useful to leave the service running for rapid iteration on the acceptance tests. This can be done with:

make test_acceptance_app_start_service
make test_acceptance_app_run # Run as many times as needed during development
make test_acceptance_app_stop_service

make test_acceptance just runs these three commands in sequence and then runs make test_acceptance_modules which performs the tests for each module in the modules directory. (Note that there is not currently an equivalent to the -start / -run x n / -stop series for modules.)

During development it is often useful to only run a subset of tests, which can be configured with arguments to the mocha CLI:

make test_acceptance_run MOCHA_GREP='AuthorizationManager'

To run only the acceptance tests for a single module do:

make test_acceptance_module MODULE=overleaf-integration

Module tests can also use a MOCHA_GREP argument:

make test_acceptance_module MODULE=overleaf-integration MOCHA_GREP=SSO

Routes

Run bin/routes to print out all routes in the project.

License and Credits

This project is licensed under the AGPLv3 license

Stylesheets

Overleaf is based on Bootstrap, which is licensed under the MIT license. All modifications (*.less files in public/stylesheets) are also licensed under the MIT license.

Artwork

Silk icon set 1.3

We gratefully acknowledge Mark James for releasing his Silk icon set under the Creative Commons Attribution 2.5 license. Some of these icons are used within Overleaf inside the public/img/silk and public/brand/icons directories.

IconShock icons

We gratefully acknowledge IconShock for use of the icons in the public/img/iconshock directory found via findicons.com

展开阅读全文

代码

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
jQuery 跨站脚本漏洞
XSS
在大于或等于 1.0.3 和 3.5.0 之前的 jQuery 版本中,传递的 HTML 包含<option>来自不受信任来源的元素(即使在对其进行清理之后)到 jQuery 的 DOM 操作方法之一(即 .html()、.append() 等)可能会执行不受信任的代码。这个问题在 jQuery 3.5.0 中得到了修复。
CVE-2020-11023 MPS-2020-15461
2022-08-08 20:49
node-tar 路径遍历漏洞
路径遍历
node-tar是一款用于文件压缩/解压缩的软件包。 npm node-tar 存在路径遍历漏洞,该漏洞源于4.4.18、5.0.10和6.1.9之前的npm包“tar”(又名node-tar)存在任意文件创建覆盖和任意代码执行漏洞。攻击者可利用该漏洞访问受限目录之外的位置。
CVE-2021-37713 MPS-2021-28489
2022-08-08 20:49
@hapi/hoek 存在原型污染漏洞
原型污染
@hapi/hoek 是 hapi 生态系统的实用方法包。此包的受影响版本容易受到原型污染。
MPS-2022-13742
2022-08-08 20:49
karma跨站脚本漏洞
XSS
Karma是一个简单的工具。允许在多个真实的浏览器中执行 JavaScript 代码。karma存在跨站脚本漏洞,该漏洞源于NPM karma中的DOM。目前没有详细的漏洞细节提供。
CVE-2022-0437 MPS-2022-2997
2022-08-08 20:49
follow-redirects project信息暴露漏洞
信息暴露
Exposure of Sensitive Information to an Unauthorized Actor in NPM follow-redirects prior to 1.14.8.
CVE-2022-0536 MPS-2022-3636
2022-08-08 20:49
jQuery 跨站脚本漏洞
XSS
jQuery是美国John Resig个人开发者的一套开源、跨浏览器的JavaScript库。该库简化了HTML与JavaScript之间的操作,并具有模块化、插件扩展等特点。 jQuery 3.0.0之前版本中存在跨站脚本漏洞。该漏洞源于WEB应用缺少对客户端数据的正确验证。攻击者可利用该漏洞执行客户端代码。
CVE-2015-9251 MPS-2018-0885
2022-08-08 20:49
ua-parser-js 安全漏洞
表达式注入
ua-parser-js是基于JavaScript的User-Agent字符串解析器。可以在浏览器(客户端)或node.js(服务器端)环境中使用。也可以作为jQuery / Zepto插件,Bower / Meteor软件包和RequireJS / AMD模块使用。 ua-parser-js 包0.7.22版本存在安全漏洞,攻击者可利用该漏洞进行ReDoS攻击。以下产品及版本受到影响: Redmi Phones,Mi Pad Tablets UA。
CVE-2020-7733 MPS-2020-13044
2022-08-08 20:49
Moment.js 正则拒绝服务漏洞
拒绝服务
Moment.js 是一个 JavaScript 日期库。用于解析、验证、操作和格式化日期。 Moment.js 在处理嵌套 rfc2822 注释内容时正则表达式执行时间不断的指数增大,导致服务不可用。 攻击者可利用该漏洞使目标服务停止响应甚至崩溃。
CVE-2022-31129 MPS-2022-11159
2022-08-08 20:49
passport-saml 存在认证机制不恰当漏洞
认证机制不恰当
passport-saml 是 Passport(Node.js 身份验证库)的身份验证提供程序。此软件包的受影响版本容易通过 SAMLRequest 参数绕过身份验证。
MPS-2022-13963
2022-08-08 20:49
NPM url-parse 安全漏洞
通过用户控制密钥绕过授权机制
Url-Parse是一个跨 Node.js 和浏览器环境无缝工作的小型 Url 解析器。 NPM url-parse 存在安全漏洞,该漏洞源于在1.5.6之前的NPM url-parse中,通过用户控制的密钥绕过授权。
CVE-2022-0512 MPS-2022-3327
2022-08-08 20:49
url-parse 安全漏洞
通过用户控制密钥绕过授权机制
Url-Parse是一个跨 Node.js 和浏览器环境无缝工作的小型 Url 解析器。 url-parse 1.5.7之前版本存在安全漏洞,攻击者可利用该漏洞通过用户控制的密钥绕过授权。
CVE-2022-0639 MPS-2022-4297
2022-08-08 20:49
CodeMirror 资源管理错误漏洞
拒绝服务
CodeMirror是CodeMirror(Codemirror)团队的一个使用JavaScript为浏览器实现的多功能文本编辑器。该软件专门用于编辑代码,并具有100多种语言模式和各种插件,可实现更高级的编辑功能,每种语言都带有功能齐全的代码和语法高亮显示,以帮助阅读和编辑复杂代码。 codemirror 5.58.2 之前版本和org.apache.marmotta.webjars:codemirror 5.58.2 之前版本存在资源管理错误漏洞。该漏洞源于blob/cdb228ac736369c685865b122b736cd0d397836c、mode/javascript/javascript.jsL 129行中的 (s|/*.*?*/)* 正则表达式逻辑错误。
CVE-2020-7760 MPS-2020-15782
2022-08-08 20:49
Amazon Aws-sdk-js 安全漏洞
Amazon Aws-sdk-js是美国亚马逊(Amazon)公司的一个基于Javascript用于为nodejs应用提供AWS服务支持的开发包。 Amazon Aws-sdk-js before 1.0.0-rc.9 存在安全漏洞,攻击者可利用该漏洞向应用程序提交恶意的INI文件,根据上下文进一步加以利用。
CVE-2020-28472 MPS-2021-0649
2022-08-08 20:49
dns-packet 信息泄露漏洞
资源初始化缺失
dns-packet是一个应用软件。一个抽象的编码为编码/解码DNS数据包的依从模型。 dns-packet 5.2.2之前版本存在安全漏洞,该漏洞源于使用allocUnsafe创建缓冲区,并且在形成网络数据包之前并不总是填充它们。
CVE-2021-23386 MPS-2021-7013
2022-08-08 20:49
tar 存在拒绝服务漏洞
拒绝服务
tar 是用于 Node.js 的全功能 Tar。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-14081
2022-08-08 20:49
Yargs Y18n 输入验证错误漏洞
动态确定对象属性修改的控制不恰当
Yargs Y18n是Yargs个人开发者的一个类似I18n的由Js编写的代码库。 y18n before 3.2.2, 4.0.1 and 5.0.5版本存在输入验证错误漏洞,该漏洞源于网络系统或产品未对输入的数据进行正确的验证。
CVE-2020-7774 MPS-2020-17543
2022-08-08 20:49
log4js-node 安全漏洞
缺省权限不正确
Log4js-Node是一种 Log4js 到 Node.js 的端口。 log4js-node 存在安全漏洞,攻击者可利用该漏洞获取敏感信息。
CVE-2022-21704 MPS-2021-37062
2022-08-08 20:49
Dan DeFelippi node-XMLHttpRequest 信任管理问题漏洞
证书验证不恰当
Dan DeFelippi node-XMLHttpRequest是 (Dan DeFelippi)开源的一个应用软件。用于模拟浏览器XMLHttpRequest对象。 Node.js xmlhttprequest-ssl package 1.6.1之前版本存在信任管理问题漏洞,该漏洞源于任何证书都不会被拒绝。
CVE-2021-31597 MPS-2021-5338
2022-08-08 20:49
Prism 资源管理错误漏洞
拒绝服务
Prism是美国Prism个人开发者的一个应用软件。是一种轻量级的,可扩展的语法突出显示工具。 Prism 1.24.0之前版本存在安全漏洞,该漏洞源于当Prism用于突出显示不受信任的文本时,攻击者可利用该漏洞精心制作一个字符串,需要非常非常长的时间来显示。
CVE-2021-32723 MPS-2021-9058
2022-08-08 20:49
ramda 存在拒绝服务漏洞
拒绝服务
此软件包的受影响版本容易受到源/修剪中的正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-13991
2022-08-08 20:49
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部