使用"检查"包导致另一个包错误

时间:2015-11-22 15:48:12

标签: validation meteor packages

我使用Check package来验证传递给Meteor方法的参数。我正在使用Audit argument checks来强制执行此操作。

但是,我添加了另一个包Meteor Tags,当我尝试使用Tags包中的方法时,我在调用方法' /模式时出现服务器错误"异常/ addTag'错误:在调用' / patterns / addTag'""时没有检查()所有参数。

我想我理解为什么会发生这种错误 - Tags包中的方法不检查其输入,因此Audit Argument Checks会产生错误。但我无法找到解决方法,除了1)不执行检查,或2)破解Tags包方法以便他们使用check。这些都不是一个很好的选择 - 检查服务器参数是一个好主意,并且黑客攻击包不是很容易维护。

是否有人知道是否有任何聪明的使用方法'审计参数检查'使用提供新服务器方法的包?我看了检查文件,并在网上搜索,但我还没有找到答案。

我希望这个问题有道理。

1 个答案:

答案 0 :(得分:3)

使用audit-argument-checks就像是说:"我想认真对待我的应用中方法的安全性。" 它是全球性的应用程序代码库中的所有方法,包括已安装软件包中的方法。

没有办法指定应用程序的哪些部分被检查,因为这相当于说:"我想认真对待我编写的方法的安全性但是我并不关心某些pacakges" 创造的安全漏洞(这没有多大意义)。

打包作者注意

检查方法参数。它并不难,它可以防止这种情况发生。坦率地说,没有这种基本安全性的软件包确实不应该首先安装。

你应该做什么

除非您有一次性应用,否则我不建议删除audit-argument-checks。相反,我会做以下事情(假设包真的有价值):

  1. 在github上打开一个问题,让维护者知道了什么。
  2. 分叉代码,并添加所需的检查。将此版本保留为local package
  3. 提交更改的拉取请求。
  4. 如果一切顺利,您的公关将被接受,每个人都可以从变化中受益。在最糟糕的情况下,您仍然可以在应用中使用本地副本。