Python Ruby中是否有与yaml.safe_load等效的加载?
最近的一篇文章揭示了在Ruby应用程序中解析用户提供的YAML的潜在危险 快速的谷歌搜索显示,其中包含一个Python Ruby中是否有与yaml.safe_load等效的加载?,python,ruby,security,yaml,Python,Ruby,Security,Yaml,最近的一篇文章揭示了在Ruby应用程序中解析用户提供的YAML的潜在危险 快速的谷歌搜索显示,其中包含一个safe\u load方法,该方法将只反序列化“简单的Python对象,如整数或列表”,而不是任何任意类型的对象 Ruby有等价物吗?在Ruby应用程序中是否有任何方法可以安全地接受YAML输入,而无需手动编写自定义解析器?使用Psych(实际的解析器引擎)的低级接口,可以访问低级结构,而无需将其序列化回Ruby对象(请参阅)。这不像安全加载那么简单,但它确实提供了一个实现这一点的途径 在S
safe\u load
方法,该方法将只反序列化“简单的Python对象,如整数或列表”,而不是任何任意类型的对象
Ruby有等价物吗?在Ruby应用程序中是否有任何方法可以安全地接受YAML输入,而无需手动编写自定义解析器?使用Psych(实际的解析器引擎)的低级接口,可以访问低级结构,而无需将其序列化回Ruby对象(请参阅)。这不像
安全加载
那么简单,但它确实提供了一个实现这一点的途径
在
Syck
和Psych
中可能还有其他更直接的选项,比如safe\u load
下面我继续写了一个gem,它添加了YAML.safe\u load
方法,并在内部使用Psych来完成繁重的工作。谢谢你的建议!你可以看到我按照你的建议做了。